Add observe method to view models

pull/795/head
Alex Baker 7 years ago
parent 507a4a1486
commit 7abea7ff9e

@ -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) {

@ -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() {

@ -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

@ -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<Boolean> getData() {
return completed;
}
public LiveData<Throwable> getError() {
return error;
public void observe(
LifecycleOwner lifecycleOwner,
Observer<Boolean> completeObserver,
Observer<Throwable> errorObserver) {
completed.observe(lifecycleOwner, completeObserver);
error.observe(lifecycleOwner, errorObserver);
}
public boolean inProgress() {

@ -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<T> extends ViewModel {
private final CompositeDisposable disposables = new CompositeDisposable();
private boolean inProgress;
public LiveData<T> getData() {
return data;
}
public LiveData<Throwable> getError() {
return error;
public void observe(
LifecycleOwner lifecycleOwner, Observer<T> dataObserver, Observer<Throwable> errorObserver) {
data.observe(lifecycleOwner, dataObserver);
error.observe(lifecycleOwner, errorObserver);
}
public boolean inProgress() {

Loading…
Cancel
Save