Refactored new calendar list creation to be handled by the tasklistfragment, which makes resuming after creating the list easier

pull/14/head
Sam Bosley 13 years ago
parent 54de0bddda
commit c3d11e8abe

@ -83,10 +83,6 @@ public class TagViewFragment extends TaskListFragment {
public static final String TOKEN_START_ACTIVITY = "startActivity"; //$NON-NLS-1$
public static final String TOKEN_START_SETTINGS = "startSettings"; //$NON-NLS-1$
public static final String TOKEN_MEMBERS = "members"; //$NON-NLS-1$
protected TagData tagData;
@Autowired TagDataService tagDataService;
@ -139,15 +135,8 @@ public class TagViewFragment extends TaskListFragment {
Activity activity = getActivity();
Class<?> settingsClass = AstridPreferences.useTabletLayout(activity) ? TagSettingsActivityTablet.class : TagSettingsActivity.class;
Intent intent = new Intent(getActivity(), settingsClass);
if (extras.containsKey(TOKEN_MEMBERS)) { // This indicates that the fragment was launched from the calendar list creator--use special logic
intent.putExtra(TagSettingsActivity.TOKEN_AUTOPOPULATE_MEMBERS, extras.getString(TOKEN_MEMBERS));
intent.putExtra(TagSettingsActivity.TOKEN_AUTOPOPULATE_NAME, extras.getString(EXTRA_TAG_NAME));
extras.remove(TOKEN_MEMBERS);
getActivity().startActivityForResult(intent, FilterListFragment.REQUEST_NEW_LIST);
} else {
intent.putExtra(EXTRA_TAG_DATA, tagData);
startActivityForResult(intent, REQUEST_CODE_SETTINGS);
}
intent.putExtra(EXTRA_TAG_DATA, tagData);
startActivityForResult(intent, REQUEST_CODE_SETTINGS);
if (!AstridPreferences.useTabletLayout(activity)) {
AndroidUtilities.callOverridePendingTransition(activity, R.anim.slide_left_in, R.anim.slide_left_out);
@ -211,12 +200,6 @@ public class TagViewFragment extends TaskListFragment {
if(tag == null && remoteId == 0)
return;
if (extras.getBoolean(TOKEN_START_SETTINGS, false)) {
extras.remove(TOKEN_START_SETTINGS);
settingsListener.onClick(null);
return;
}
TodorooCursor<TagData> cursor = tagDataService.query(Query.select(TagData.PROPERTIES).where(Criterion.or(TagData.NAME.eqCaseInsensitive(tag),
Criterion.and(TagData.REMOTE_ID.gt(0), TagData.REMOTE_ID.eq(remoteId)))));
try {

@ -21,7 +21,6 @@ import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.activity.EditPreferences;
import com.todoroo.astrid.activity.TaskListActivity;
@ -31,7 +30,6 @@ import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.User;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TagFilterExposer;
public class CalendarAlarmListCreator extends Activity {
@ -74,7 +72,6 @@ public class CalendarAlarmListCreator extends Activity {
Intent intent = getIntent();
// tagData = tagDataService.fetchById(intent.getLongExtra(TOKEN_LIST_ID, -1), TagData.PROPERTIES);
tagName = intent.getStringExtra(TOKEN_LIST_NAME);
inviteAll = (TextView) findViewById(R.id.invite_all);
moreOptions = (TextView) findViewById(R.id.list_settings);
@ -148,7 +145,7 @@ public class CalendarAlarmListCreator extends Activity {
public void onClick(View v) {
Intent editPreferences = new Intent(CalendarAlarmListCreator.this, EditPreferences.class);
startActivity(editPreferences);
finish();
dismissListener.onClick(v);
}
});
@ -166,7 +163,7 @@ public class CalendarAlarmListCreator extends Activity {
tagData.setValue(TagData.MEMBERS, membersArray.toString());
tagData.setValue(TagData.MEMBER_COUNT, membersArray.length());
tagDataService.save(tagData);
finish();
dismissListener.onClick(v);
}
}
});
@ -175,12 +172,11 @@ public class CalendarAlarmListCreator extends Activity {
@Override
public void onClick(View v) {
Intent intent = new Intent(CalendarAlarmListCreator.this, TaskListActivity.class);
intent.putExtra(TaskListFragment.TOKEN_FILTER, TagFilterExposer.filterFromTagData(CalendarAlarmListCreator.this, new TagData()));
intent.putExtra(TagViewFragment.EXTRA_TAG_NAME, tagName);
intent.putExtra(TagViewFragment.TOKEN_MEMBERS, buildMembersArray().toString());
intent.putExtra(TagViewFragment.TOKEN_START_SETTINGS, true);
intent.putExtra(TaskListFragment.TOKEN_NEW_LIST_NAME, tagName);
intent.putExtra(TaskListFragment.TOKEN_NEW_LIST_MEMBERS, buildMembersArray().toString());
intent.putExtra(TaskListFragment.TOKEN_NEW_LIST, true);
startActivity(intent);
finish();
dismissListener.onClick(v);
}
});
}

@ -162,7 +162,7 @@ public class CalendarReminderActivity extends Activity {
public void onClick(View v) {
Intent editPreferences = new Intent(CalendarReminderActivity.this, EditPreferences.class);
startActivity(editPreferences);
finish();
dismissListener.onClick(v);
}
});
@ -243,7 +243,7 @@ public class CalendarReminderActivity extends Activity {
if (Constants.DEBUG)
Log.w(CalendarAlarmScheduler.TAG, "Scheduling calendar alarm for " + new Date(alarmTime));
am.set(AlarmManager.RTC_WAKEUP, alarmTime, pendingIntent);
finish();
dismissButton.performClick();
}
}

@ -66,6 +66,7 @@ import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.ActFmLoginActivity;
import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.actfm.TagUpdatesActivity;
import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
@ -101,6 +102,7 @@ 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;
@ -159,6 +161,11 @@ 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
@ -384,6 +391,11 @@ 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) {
@ -414,6 +426,15 @@ 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