What is the proper way in the following code (it's a bit complicated structure to me) to get url from the method gotUrl() to the doInBackground() method of AsyncTask in order to use it in onPostExecute(), after the doInBackground() method has completed its task?
public class PlayerActivity extends CustomActivity implements 
                                              ProblemListener{
     public class PlayChannel extends 
                      AsyncTask<CustomChangeChannel, String, String> {
          @Override
          protected String doInBackground(CustomChangeChannel... params) {
                 initOctoshapeSystem();
          return url;
          } 
          @Override
          protected void onPostExecute(String url){ 
          }
     }
     public void initOctoshapeSystem() {
           os = OctoStatic.create(this, this, null);
           os.setOctoshapeSystemListener(new OctoshapeSystemListener() {
                @Override
                public void onConnect() {
                     mStreamPlayer = setupStream(OCTOLINK);
                     mStreamPlayer.requestPlay();
                }
          });
     }
     public StreamPlayer setupStream(final String stream) {
        StreamPlayer sp = os.createStreamPlayer(stream);
        sp.setStatusChangedListener(new StatusChangedListener() {
            @Override
            public void statusChanged(byte oldStatus, 
                                      final byte newStatus) {
                runOnUiThread(new Runnable() {
                   @Override
                   public void run() {
                    //todo
                   }
                });
             }
        });
        sp.setListener(new StreamPlayerListener() {
            @Override
            public void gotUrl(String url) {
                //String to be passed
            }
        });
     return sp;
     }
}
 
     
    