Fixed a crash with creating a calendar list with swipe enabled, refactored some constant names for clarity

pull/14/head
Sam Bosley 13 years ago
parent a1ff1046ee
commit 8685461911

@ -25,7 +25,6 @@ import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.activity.EditPreferences; import com.todoroo.astrid.activity.EditPreferences;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.dao.UserDao; import com.todoroo.astrid.dao.UserDao;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.User; import com.todoroo.astrid.data.User;
@ -172,9 +171,9 @@ public class CalendarAlarmListCreator extends Activity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Intent intent = new Intent(CalendarAlarmListCreator.this, TaskListActivity.class); Intent intent = new Intent(CalendarAlarmListCreator.this, TaskListActivity.class);
intent.putExtra(TaskListFragment.TOKEN_NEW_LIST_NAME, tagName); intent.putExtra(TaskListActivity.TOKEN_CREATE_NEW_LIST_NAME, tagName);
intent.putExtra(TaskListFragment.TOKEN_NEW_LIST_MEMBERS, buildMembersArray().toString()); intent.putExtra(TaskListActivity.TOKEN_CREATE_NEW_LIST_MEMBERS, buildMembersArray().toString());
intent.putExtra(TaskListFragment.TOKEN_NEW_LIST, true); intent.putExtra(TaskListActivity.TOKEN_CREATE_NEW_LIST, true);
startActivity(intent); startActivity(intent);
dismissWithAnimation(); dismissWithAnimation();
} }

@ -55,6 +55,7 @@ import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.service.abtesting.ABTestEventReportingService; import com.todoroo.astrid.service.abtesting.ABTestEventReportingService;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin;
import com.todoroo.astrid.tags.reusable.FeaturedListFilterMode; import com.todoroo.astrid.tags.reusable.FeaturedListFilterMode;
import com.todoroo.astrid.ui.DateChangedAlerts; import com.todoroo.astrid.ui.DateChangedAlerts;
import com.todoroo.astrid.ui.FragmentPopover; import com.todoroo.astrid.ui.FragmentPopover;
@ -73,7 +74,12 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
/** token for indicating source of TLA launch */ /** token for indicating source of TLA launch */
public static final String TOKEN_SOURCE = "source"; //$NON-NLS-1$ 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$ public static final String OPEN_TASK = "openTask"; //$NON-NLS-1$
@ -444,9 +450,9 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
onBackPressed(); onBackPressed();
} }
if (getIntent().hasExtra(NEW_LIST)) { if (getIntent().hasExtra(TOKEN_NEW_LIST_CREATED)) {
Filter newList = getIntent().getParcelableExtra(NEW_LIST); Filter newList = getIntent().getParcelableExtra(TOKEN_NEW_LIST_CREATED);
getIntent().removeExtra(NEW_LIST); getIntent().removeExtra(TOKEN_NEW_LIST_CREATED);
onFilterItemClicked(newList); onFilterItemClicked(newList);
} }
@ -465,6 +471,20 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
if (fragmentLayout == LAYOUT_SINGLE) if (fragmentLayout == LAYOUT_SINGLE)
getIntent().removeExtra(OPEN_TASK); 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 @Override
@ -584,7 +604,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
Filter newList = data.getParcelableExtra(TagSettingsActivity.TOKEN_NEW_FILTER); Filter newList = data.getParcelableExtra(TagSettingsActivity.TOKEN_NEW_FILTER);
if (newList != null) { if (newList != null) {
getIntent().putExtra(NEW_LIST, newList); // Handle in onPostResume() getIntent().putExtra(TOKEN_NEW_LIST_CREATED, newList); // Handle in onPostResume()
FilterListFragment fla = getFilterListFragment(); FilterListFragment fla = getFilterListFragment();
if (fla != null && getFragmentLayout() != LAYOUT_SINGLE) if (fla != null && getFragmentLayout() != LAYOUT_SINGLE)
fla.clear(); fla.clear();

@ -67,7 +67,6 @@ import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.ActFmLoginActivity; import com.todoroo.astrid.actfm.ActFmLoginActivity;
import com.todoroo.astrid.actfm.CommentsActivity; import com.todoroo.astrid.actfm.CommentsActivity;
import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.actfm.TagViewFragment; import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.activity.SortSelectionActivity.OnSortSelectedListener; 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.subtasks.SubtasksListFragment;
import com.todoroo.astrid.sync.SyncProviderPreferences; import com.todoroo.astrid.sync.SyncProviderPreferences;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin;
import com.todoroo.astrid.taskrabbit.TaskRabbitMetadata; import com.todoroo.astrid.taskrabbit.TaskRabbitMetadata;
import com.todoroo.astrid.timers.TimerPlugin; import com.todoroo.astrid.timers.TimerPlugin;
import com.todoroo.astrid.ui.QuickAddBar; 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$ 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 // --- instance variables
@Autowired @Autowired
@ -394,11 +387,6 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
((AstridActivity) getActivity()).setupActivityFragment(getActiveTagData()); ((AstridActivity) getActivity()).setupActivityFragment(getActiveTagData());
contextMenuExtensionLoader.loadInNewThread(getActivity()); 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) { 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) * Create options menu (displayed when user presses menu key)
* *

Loading…
Cancel
Save