Use flags instead of booleans for flags in task list wrapper

pull/14/head
Sam Bosley 13 years ago
parent 4a6998ef99
commit 52e7c01854

@ -764,6 +764,7 @@ public class TaskListActivity extends ListFragment implements OnScrollListener,
// handle the result of voice recognition, put it into the textfield
if (voiceInputAssistant.handleActivityResult(requestCode, resultCode, data)) {
// if user wants, create the task directly (with defaultvalues) after saying it
Flags.set(Flags.TLA_RESUMED_FROM_VOICE_ADD);
if (Preferences.getBoolean(R.string.p_voiceInputCreatesTask, false))
quickAddTask(quickAddBox.getText().toString(), true);
super.onActivityResult(requestCode, resultCode, data);

@ -24,6 +24,7 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.ui.FragmentPopover;
import com.todoroo.astrid.utility.Flags;
public class TaskListWrapperActivity extends AstridWrapperActivity {
@ -35,8 +36,6 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
private FragmentPopover listsPopover;
private FragmentPopover editPopover;
private boolean fromTaskEdit = false;
private final OnClickListener popupMenuClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
@ -51,9 +50,8 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
TaskEditActivity tea = getTaskEditFragment();
if (tea != null) {
try {
if (!fromTaskEdit)
if (!Flags.checkAndClear(Flags.TLA_DISMISSED_FROM_TASK_EDIT))
tea.save(false);
fromTaskEdit = false;
} catch (IllegalStateException e) {
// Save during pause, ignore it
}
@ -190,16 +188,16 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
super.onPostResume();
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
setupTasklistFragmentWithFilter(savedFilter);
if (!Flags.checkAndClear(Flags.TLA_RESUMED_FROM_VOICE_ADD))
setupTasklistFragmentWithFilter(savedFilter);
if (savedFilter != null)
lists.setText(savedFilter.title);
if (!fromTaskEdit) {
if (!Flags.checkAndClear(Flags.TLA_DISMISSED_FROM_TASK_EDIT)) {
TaskEditActivity tea = getTaskEditFragment();
if (tea != null)
onBackPressed();
}
fromTaskEdit = false;
}
@Override
@ -226,11 +224,11 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
} else {
findViewById(R.id.taskedit_fragment_container).setVisibility(View.INVISIBLE);
}
fromTaskEdit = true;
Flags.set(Flags.TLA_DISMISSED_FROM_TASK_EDIT);
onPostResume();
} else {
if (editPopover != null && editPopover.isShowing()) {
fromTaskEdit = true;
Flags.set(Flags.TLA_DISMISSED_FROM_TASK_EDIT);
editPopover.dismiss();
}
}

@ -31,6 +31,16 @@ public class Flags {
*/
public static final int GTASKS_SUPPRESS_SYNC = 1 << 4;
/**
* If set, indicates that the edit popover was dismissed by the edit fragment/back button
*/
public static final int TLA_DISMISSED_FROM_TASK_EDIT = 1 << 5;
/**
* If set, indicates that task list activity was resumed after voice add (so don't replace refresh list fragment)
*/
public static final int TLA_RESUMED_FROM_VOICE_ADD = 1 << 6;
public static boolean checkAndClear(int flag) {
boolean set = (state & flag) > 0;
state &= ~flag;

Loading…
Cancel
Save