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.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();
}

@ -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();

@ -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)
*

Loading…
Cancel
Save