Only save if task changed

pull/384/head
Alex Baker 9 years ago
parent 167ec840f3
commit 3e998c3115

@ -332,7 +332,9 @@ public final class TaskEditFragment extends InjectingFragment implements EditNot
/** Save task model from values in UI components */
public void save() {
for (TaskEditControlFragment fragment : getFragments()) {
List<TaskEditControlFragment> fragments = getFragments();
if (hasChanges(fragments)) {
for (TaskEditControlFragment fragment : fragments) {
fragment.apply(model);
}
taskService.save(model);
@ -349,9 +351,11 @@ public final class TaskEditFragment extends InjectingFragment implements EditNot
if (isNewTask) {
tla.getTaskListFragment().onTaskCreated(model.getId(), model.getUuid());
}
removeExtrasFromIntent(getActivity().getIntent());
callback.taskEditFinished();
} else {
discard();
}
}
private EditTitleControlSet getEditTitleControlSet() {
@ -386,12 +390,17 @@ public final class TaskEditFragment extends InjectingFragment implements EditNot
* ======================================================================
*/
public void discardButtonClick() {
boolean hasChanges = false;
for (TaskEditControlFragment fragment : getFragments()) {
hasChanges |= fragment.hasChanges(model);
private boolean hasChanges(List<TaskEditControlFragment> fragments) {
for (TaskEditControlFragment fragment : fragments) {
if (fragment.hasChanges(model)) {
return true;
}
}
return false;
}
if (hasChanges) {
public void discardButtonClick() {
if (hasChanges(getFragments())) {
dialogBuilder.newMessageDialog(R.string.discard_confirmation)
.setPositiveButton(R.string.keep_editing, null)
.setNegativeButton(R.string.discard, new DialogInterface.OnClickListener() {

Loading…
Cancel
Save