Revert "Save task changes on destroy"

This reverts commit a884cb8b7e.
pull/467/head
Alex Baker 9 years ago
parent d173a2bd19
commit 6e2bd57b46

@ -76,7 +76,6 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
private static final String EXTRA_TASK = "extra_task";
private static final String EXTRA_IS_NEW_TASK = "extra_is_new_task";
private static final String EXTRA_SAVE_ON_DESTROY = "extra_save_on_destroy";
@Inject TaskService taskService;
@Inject UserActivityDao userActivityDao;
@ -98,7 +97,6 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
/** true if editing started with a new task */
private boolean isNewTask = false;
private boolean saveOnDestroy = true;
/** task model */
Task model = null;
@ -124,7 +122,6 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
if (savedInstanceState != null) {
model = savedInstanceState.getParcelable(EXTRA_TASK);
isNewTask = savedInstanceState.getBoolean(EXTRA_IS_NEW_TASK);
saveOnDestroy = savedInstanceState.getBoolean(EXTRA_SAVE_ON_DESTROY);
}
final boolean backButtonSavesTask = preferences.backButtonSavesTask();
@ -211,9 +208,13 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
public void save() {
List<TaskEditControlFragment> fragments = taskEditControlSetFragmentManager.getFragmentsInPersistOrder(getChildFragmentManager());
if (hasChanges(fragments)) {
saveOnDestroy = false;
persistChanges(fragments);
for (TaskEditControlFragment fragment : fragments) {
fragment.apply(model);
}
boolean databaseChanged = taskService.save(model);
if (!databaseChanged && model.checkTransitory(SyncFlags.FORCE_SYNC)) {
broadcaster.taskUpdated(model, null);
}
boolean tagsChanged = Flags.check(Flags.TAGS_CHANGED);
@ -230,16 +231,6 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
}
}
private void persistChanges(List<TaskEditControlFragment> fragments) {
for (TaskEditControlFragment fragment : fragments) {
fragment.apply(model);
}
boolean databaseChanged = taskService.save(model);
if (!databaseChanged && model.checkTransitory(SyncFlags.FORCE_SYNC)) {
broadcaster.taskUpdated(model, null);
}
}
private EditTitleControlSet getEditTitleControlSet() {
return getFragment(EditTitleControlSet.TAG);
}
@ -288,8 +279,6 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
}
public void discard() {
saveOnDestroy = false;
if (isNewTask) {
TimerPlugin.stopTimer(notificationManager, taskService, getActivity(), model);
taskDeleter.delete(model);
@ -316,20 +305,6 @@ public final class TaskEditFragment extends InjectingFragment implements Toolbar
outState.putParcelable(EXTRA_TASK, model);
outState.putBoolean(EXTRA_IS_NEW_TASK, isNewTask);
outState.putBoolean(EXTRA_SAVE_ON_DESTROY, saveOnDestroy);
}
@Override
public void onDestroy() {
if (saveOnDestroy) {
List<TaskEditControlFragment> fragments =
taskEditControlSetFragmentManager.getFragmentsInPersistOrder(getChildFragmentManager());
if (hasChanges(fragments)) {
persistChanges(fragments);
}
}
super.onDestroy();
}
/*

Loading…
Cancel
Save