diff --git a/astrid/plugin-src/com/todoroo/astrid/gcal/CalendarAlarmListCreator.java b/astrid/plugin-src/com/todoroo/astrid/gcal/CalendarAlarmListCreator.java index d293bcad5..563c52906 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gcal/CalendarAlarmListCreator.java +++ b/astrid/plugin-src/com/todoroo/astrid/gcal/CalendarAlarmListCreator.java @@ -25,7 +25,6 @@ import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.activity.EditPreferences; import com.todoroo.astrid.activity.TaskListActivity; -import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.dao.UserDao; import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.User; @@ -172,9 +171,9 @@ public class CalendarAlarmListCreator extends Activity { @Override public void onClick(View v) { Intent intent = new Intent(CalendarAlarmListCreator.this, TaskListActivity.class); - intent.putExtra(TaskListFragment.TOKEN_NEW_LIST_NAME, tagName); - intent.putExtra(TaskListFragment.TOKEN_NEW_LIST_MEMBERS, buildMembersArray().toString()); - intent.putExtra(TaskListFragment.TOKEN_NEW_LIST, true); + intent.putExtra(TaskListActivity.TOKEN_CREATE_NEW_LIST_NAME, tagName); + intent.putExtra(TaskListActivity.TOKEN_CREATE_NEW_LIST_MEMBERS, buildMembersArray().toString()); + intent.putExtra(TaskListActivity.TOKEN_CREATE_NEW_LIST, true); startActivity(intent); dismissWithAnimation(); } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 21971121d..816b07d79 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -55,6 +55,7 @@ import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.service.abtesting.ABTestEventReportingService; import com.todoroo.astrid.tags.TagService; +import com.todoroo.astrid.tags.TagsPlugin; import com.todoroo.astrid.tags.reusable.FeaturedListFilterMode; import com.todoroo.astrid.ui.DateChangedAlerts; import com.todoroo.astrid.ui.FragmentPopover; @@ -73,7 +74,12 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener /** token for indicating source of TLA launch */ public static final String TOKEN_SOURCE = "source"; //$NON-NLS-1$ - public static final String NEW_LIST = "newList"; //$NON-NLS-1$ + public static final String TOKEN_NEW_LIST_CREATED = "newListCreated"; //$NON-NLS-1$ + + /** For indicating the new list screen should be launched at fragment setup time */ + public static final String TOKEN_CREATE_NEW_LIST = "createNewList"; //$NON-NLS-1$ + public static final String TOKEN_CREATE_NEW_LIST_MEMBERS = "newListMembers"; //$NON-NLS-1$ + public static final String TOKEN_CREATE_NEW_LIST_NAME = "newListName"; //$NON-NLS-1$ public static final String OPEN_TASK = "openTask"; //$NON-NLS-1$ @@ -444,9 +450,9 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener onBackPressed(); } - if (getIntent().hasExtra(NEW_LIST)) { - Filter newList = getIntent().getParcelableExtra(NEW_LIST); - getIntent().removeExtra(NEW_LIST); + if (getIntent().hasExtra(TOKEN_NEW_LIST_CREATED)) { + Filter newList = getIntent().getParcelableExtra(TOKEN_NEW_LIST_CREATED); + getIntent().removeExtra(TOKEN_NEW_LIST_CREATED); onFilterItemClicked(newList); } @@ -465,6 +471,20 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener if (fragmentLayout == LAYOUT_SINGLE) getIntent().removeExtra(OPEN_TASK); } + + if (getIntent().getBooleanExtra(TOKEN_CREATE_NEW_LIST, false)) { + newListFromLaunch(); + } + } + + private void newListFromLaunch() { + Intent thisIntent = getIntent(); + Intent newTagIntent = TagsPlugin.newTagDialog(this); + newTagIntent.putExtra(TagSettingsActivity.TOKEN_AUTOPOPULATE_MEMBERS, thisIntent.getStringExtra(TOKEN_CREATE_NEW_LIST_MEMBERS)); + newTagIntent.putExtra(TagSettingsActivity.TOKEN_AUTOPOPULATE_NAME, thisIntent.getStringExtra(TOKEN_CREATE_NEW_LIST_NAME)); + thisIntent.removeExtra(TOKEN_CREATE_NEW_LIST_MEMBERS); + thisIntent.removeExtra(TOKEN_CREATE_NEW_LIST_NAME); + startActivityForResult(newTagIntent, FilterListFragment.REQUEST_NEW_LIST); } @Override @@ -584,7 +604,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener Filter newList = data.getParcelableExtra(TagSettingsActivity.TOKEN_NEW_FILTER); if (newList != null) { - getIntent().putExtra(NEW_LIST, newList); // Handle in onPostResume() + getIntent().putExtra(TOKEN_NEW_LIST_CREATED, newList); // Handle in onPostResume() FilterListFragment fla = getFilterListFragment(); if (fla != null && getFragmentLayout() != LAYOUT_SINGLE) fla.clear(); diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java index cd940f0ac..e2a8eb860 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java @@ -67,7 +67,6 @@ import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.actfm.ActFmLoginActivity; import com.todoroo.astrid.actfm.CommentsActivity; -import com.todoroo.astrid.actfm.TagSettingsActivity; import com.todoroo.astrid.actfm.TagViewFragment; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.activity.SortSelectionActivity.OnSortSelectedListener; @@ -102,7 +101,6 @@ import com.todoroo.astrid.service.UpgradeService; import com.todoroo.astrid.subtasks.SubtasksListFragment; import com.todoroo.astrid.sync.SyncProviderPreferences; import com.todoroo.astrid.tags.TagService; -import com.todoroo.astrid.tags.TagsPlugin; import com.todoroo.astrid.taskrabbit.TaskRabbitMetadata; import com.todoroo.astrid.timers.TimerPlugin; import com.todoroo.astrid.ui.QuickAddBar; @@ -161,11 +159,6 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, private static final String TOKEN_EXTRAS = "extras"; //$NON-NLS-1$ - /** For indicating the new list screen should be launched at fragment setup time */ - public static final String TOKEN_NEW_LIST = "newList"; //$NON-NLS-1$ - public static final String TOKEN_NEW_LIST_MEMBERS = "newListMembers"; //$NON-NLS-1$ - public static final String TOKEN_NEW_LIST_NAME = "newListName"; //$NON-NLS-1$ - // --- instance variables @Autowired @@ -394,11 +387,6 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, ((AstridActivity) getActivity()).setupActivityFragment(getActiveTagData()); contextMenuExtensionLoader.loadInNewThread(getActivity()); - - if (extras != null && extras.getBoolean(TOKEN_NEW_LIST, false)) { - extras.remove(TOKEN_NEW_LIST); - newListFromLaunch(); - } } protected void addSyncRefreshMenuItem(Menu menu, int themeFlags) { @@ -429,15 +417,6 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, } } - private void newListFromLaunch() { - Intent intent = TagsPlugin.newTagDialog(getActivity()); - intent.putExtra(TagSettingsActivity.TOKEN_AUTOPOPULATE_MEMBERS, extras.getString(TOKEN_NEW_LIST_MEMBERS)); - intent.putExtra(TagSettingsActivity.TOKEN_AUTOPOPULATE_NAME, extras.getString(TOKEN_NEW_LIST_NAME)); - extras.remove(TOKEN_NEW_LIST_MEMBERS); - extras.remove(TOKEN_NEW_LIST_NAME); - getActivity().startActivityForResult(intent, FilterListFragment.REQUEST_NEW_LIST); - } - /** * Create options menu (displayed when user presses menu key) *