diff --git a/app/src/main/java/org/tasks/etesync/EncryptionSettingsActivity.java b/app/src/main/java/org/tasks/etesync/EncryptionSettingsActivity.java index 0abae8851..f53b7f13d 100644 --- a/app/src/main/java/org/tasks/etesync/EncryptionSettingsActivity.java +++ b/app/src/main/java/org/tasks/etesync/EncryptionSettingsActivity.java @@ -19,7 +19,6 @@ import com.etesync.journalmanager.Crypto; import com.etesync.journalmanager.Crypto.CryptoManager; import com.etesync.journalmanager.Exceptions.IntegrityException; import com.etesync.journalmanager.Exceptions.VersionTooNewException; -import com.etesync.journalmanager.GsonHelper; import com.etesync.journalmanager.UserInfoManager.UserInfo; import com.google.android.material.snackbar.Snackbar; import java.net.ConnectException; diff --git a/app/src/main/java/org/tasks/etesync/EteSyncAccountSettingsActivity.java b/app/src/main/java/org/tasks/etesync/EteSyncAccountSettingsActivity.java index 4bfd5a58b..ff364527f 100644 --- a/app/src/main/java/org/tasks/etesync/EteSyncAccountSettingsActivity.java +++ b/app/src/main/java/org/tasks/etesync/EteSyncAccountSettingsActivity.java @@ -50,9 +50,24 @@ public class EteSyncAccountSettingsActivity extends BaseCaldavAccountSettingsAct addAccountViewModel = ViewModelProviders.of(this).get(AddEteSyncAccountViewModel.class); updateAccountViewModel = ViewModelProviders.of(this).get(UpdateEteSyncAccountViewModel.class); + } + + @Override + protected void onResume() { + super.onResume(); + + if (!isFinishing()) { + addAccountViewModel.observe(this, this::addAccount, this::requestFailed); + updateAccountViewModel.observe(this, this::updateAccount, this::requestFailed); + } + } + + @Override + protected void onPause() { + super.onPause(); - addAccountViewModel.observe(this, this::addAccount, this::requestFailed); - updateAccountViewModel.observe(this, this::updateAccount, this::requestFailed); + addAccountViewModel.removeObserver(this); + updateAccountViewModel.removeObserver(this); } @Override diff --git a/app/src/main/java/org/tasks/ui/CompletableViewModel.java b/app/src/main/java/org/tasks/ui/CompletableViewModel.java index f59db1f5a..6b34c7503 100644 --- a/app/src/main/java/org/tasks/ui/CompletableViewModel.java +++ b/app/src/main/java/org/tasks/ui/CompletableViewModel.java @@ -50,4 +50,9 @@ public abstract class CompletableViewModel extends ViewModel { protected void onCleared() { disposables.dispose(); } + + public void removeObserver(LifecycleOwner owner) { + data.removeObservers(owner); + error.removeObservers(owner); + } }