@Override public void onSaveInstanceState(Bundle outState) { // save the adapter data if (mAdapter != null && mAdapter.mPlaylists != null) { outState.putParcelableArrayList( STATE_ADAPTER_DATA, new ArrayList<Parcelable>(mAdapter.mPlaylists)); } // save the task state final AuthorizeTask authTask = mAuthorizeTask; if (mIsAuthTaskRunning || (authTask != null && authTask.getStatus() != AsyncTask.Status.FINISHED)) { if (authTask != null) authTask.cancel(true); outState.putBoolean(STATE_AUTH_TASK_RUNNING, true); mAuthorizeTask = null; } final UserPlaylistsTask userPlsTask = mUserPlaylistsTask; if (userPlsTask != null && userPlsTask.getStatus() != AsyncTask.Status.FINISHED) { userPlsTask.cancel(true); outState.putBoolean(STATE_USER_PLAYLISTS_TASK_RUNNING, true); mUserPlaylistsTask = null; } final CreatePlaylistTask createPlsTask = mCreatePlaylistTask; if (createPlsTask != null && createPlsTask.getStatus() != AsyncTask.Status.FINISHED) { createPlsTask.cancel(true); outState.putBoolean(STATE_CREATE_PLAYLIST_TASK_RUNNING, true); outState.putStringArrayList(STATE_CREATE_PLAYLIST_IDS, createPlsTask.mSongIds); outState.putInt(STATE_CREATE_PLAYLIST_INDEX, createPlsTask.mFetchCount.get()); outState.putParcelable(STATE_CREATE_PLAYLIST_CHOSEN, createPlsTask.mChosenPlaylist); mCreatePlaylistTask = null; } mSavedState = outState; super.onSaveInstanceState(outState); }
private boolean isUserPlaylistsTaskRunning() { if (mUserPlaylistsTask != null && mUserPlaylistsTask.getStatus() != AsyncTask.Status.FINISHED) return true; return false; }