diff --git a/app/src/main/java/org/tasks/activities/GoogleTaskListSettingsActivity.java b/app/src/main/java/org/tasks/activities/GoogleTaskListSettingsActivity.java index 819d2a342..92698ff83 100644 --- a/app/src/main/java/org/tasks/activities/GoogleTaskListSettingsActivity.java +++ b/app/src/main/java/org/tasks/activities/GoogleTaskListSettingsActivity.java @@ -144,20 +144,9 @@ public class GoogleTaskListSettingsActivity extends ThemedInjectingAppCompatActi || deleteListViewModel.inProgress()) { showProgressIndicator(); } - createListViewModel.getData().observe(this, this::onListCreated); - renameListViewModel.getData().observe(this, this::onListRenamed); - deleteListViewModel - .getData() - .observe( - this, - deleted -> { - if (deleted) { - onListDeleted(); - } - }); - createListViewModel.getError().observe(this, this::requestFailed); - renameListViewModel.getError().observe(this, this::requestFailed); - deleteListViewModel.getError().observe(this, this::requestFailed); + createListViewModel.observe(this, this::onListCreated, this::requestFailed); + renameListViewModel.observe(this, this::onListRenamed, this::requestFailed); + deleteListViewModel.observe(this, this::onListDeleted, this::requestFailed); } private void showProgressIndicator() { @@ -256,7 +245,8 @@ public class GoogleTaskListSettingsActivity extends ThemedInjectingAppCompatActi dialogBuilder .newMessageDialog(R.string.delete_tag_confirmation, gtasksList.getTitle()) .setPositiveButton( - R.string.delete, (dialog, which) -> { + R.string.delete, + (dialog, which) -> { showProgressIndicator(); deleteListViewModel.deleteList(context, gtasksList); }) @@ -320,11 +310,13 @@ public class GoogleTaskListSettingsActivity extends ThemedInjectingAppCompatActi finish(); } - private void onListDeleted() { - tracker.reportEvent(Tracking.Events.GTASK_DELETE_LIST); - taskDeleter.delete(gtasksList); - setResult(RESULT_OK, new Intent(TaskListFragment.ACTION_DELETED)); - finish(); + private void onListDeleted(boolean deleted) { + if (deleted) { + tracker.reportEvent(Tracking.Events.GTASK_DELETE_LIST); + taskDeleter.delete(gtasksList); + setResult(RESULT_OK, new Intent(TaskListFragment.ACTION_DELETED)); + finish(); + } } private void onListRenamed(TaskList taskList) { diff --git a/app/src/main/java/org/tasks/caldav/CaldavAccountSettingsActivity.java b/app/src/main/java/org/tasks/caldav/CaldavAccountSettingsActivity.java index 90f340a76..b6d7090a6 100644 --- a/app/src/main/java/org/tasks/caldav/CaldavAccountSettingsActivity.java +++ b/app/src/main/java/org/tasks/caldav/CaldavAccountSettingsActivity.java @@ -150,10 +150,8 @@ public class CaldavAccountSettingsActivity extends ThemedInjectingAppCompatActiv imm.showSoftInput(name, InputMethodManager.SHOW_IMPLICIT); } - addCaldavAccountViewModel.getData().observe(this, this::addAccount); - updateCaldavAccountViewModel.getData().observe(this, this::updateAccount); - addCaldavAccountViewModel.getError().observe(this, this::requestFailed); - updateCaldavAccountViewModel.getError().observe(this, this::requestFailed); + addCaldavAccountViewModel.observe(this, this::addAccount, this::requestFailed); + updateCaldavAccountViewModel.observe(this, this::updateAccount, this::requestFailed); } private void showProgressIndicator() { diff --git a/app/src/main/java/org/tasks/caldav/CaldavCalendarSettingsActivity.java b/app/src/main/java/org/tasks/caldav/CaldavCalendarSettingsActivity.java index 0b22b7031..b3a5fb7a0 100644 --- a/app/src/main/java/org/tasks/caldav/CaldavCalendarSettingsActivity.java +++ b/app/src/main/java/org/tasks/caldav/CaldavCalendarSettingsActivity.java @@ -159,10 +159,8 @@ public class CaldavCalendarSettingsActivity extends ThemedInjectingAppCompatActi imm.showSoftInput(name, InputMethodManager.SHOW_IMPLICIT); } - createCalendarViewModel.getData().observe(this, this::createSuccessful); - deleteCalendarViewModel.getData().observe(this, this::onDeleted); - createCalendarViewModel.getError().observe(this, this::requestFailed); - deleteCalendarViewModel.getError().observe(this, this::requestFailed); + createCalendarViewModel.observe(this, this::createSuccessful, this::requestFailed); + deleteCalendarViewModel.observe(this, this::onDeleted, this::requestFailed); } @Override diff --git a/app/src/main/java/org/tasks/ui/ActionViewModel.java b/app/src/main/java/org/tasks/ui/ActionViewModel.java index ae6784ca9..01b2b7cb4 100644 --- a/app/src/main/java/org/tasks/ui/ActionViewModel.java +++ b/app/src/main/java/org/tasks/ui/ActionViewModel.java @@ -2,8 +2,9 @@ package org.tasks.ui; import static com.todoroo.andlib.utility.AndroidUtilities.assertMainThread; -import androidx.lifecycle.LiveData; +import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModel; import io.reactivex.Completable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -17,12 +18,12 @@ public class ActionViewModel extends ViewModel { private final CompositeDisposable disposables = new CompositeDisposable(); private boolean inProgress; - public LiveData getData() { - return completed; - } - - public LiveData getError() { - return error; + public void observe( + LifecycleOwner lifecycleOwner, + Observer completeObserver, + Observer errorObserver) { + completed.observe(lifecycleOwner, completeObserver); + error.observe(lifecycleOwner, errorObserver); } public boolean inProgress() { diff --git a/app/src/main/java/org/tasks/ui/CompletableViewModel.java b/app/src/main/java/org/tasks/ui/CompletableViewModel.java index d4cf5c227..f59db1f5a 100644 --- a/app/src/main/java/org/tasks/ui/CompletableViewModel.java +++ b/app/src/main/java/org/tasks/ui/CompletableViewModel.java @@ -2,8 +2,9 @@ package org.tasks.ui; import static com.todoroo.andlib.utility.AndroidUtilities.assertMainThread; -import androidx.lifecycle.LiveData; +import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModel; import io.reactivex.Single; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -17,12 +18,10 @@ public abstract class CompletableViewModel extends ViewModel { private final CompositeDisposable disposables = new CompositeDisposable(); private boolean inProgress; - public LiveData getData() { - return data; - } - - public LiveData getError() { - return error; + public void observe( + LifecycleOwner lifecycleOwner, Observer dataObserver, Observer errorObserver) { + data.observe(lifecycleOwner, dataObserver); + error.observe(lifecycleOwner, errorObserver); } public boolean inProgress() {