Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2021-04-29 13:43:55 +0300
committerStefan Niedermann <info@niedermann.it>2021-04-29 13:43:55 +0300
commit1b5b26650b696c84abf494b9402e5518d39613a5 (patch)
treebbcdeb056e6c0076036405d666acbc7c050cab4d
parent258d7734ea7038d4ad893e5991dde70d06c094fc (diff)
#1167 Fix TokenMismatchException after last account has been deleted
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java27
1 files changed, 18 insertions, 9 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
index ef518c2b..e383091c 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
@@ -319,17 +319,26 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
final LiveData<Account> accountLiveData = mainViewModel.getCurrentAccount();
accountLiveData.observe(this, (currentAccount) -> {
accountLiveData.removeObservers(this);
- mainViewModel.synchronizeNotes(currentAccount, new IResponseCallback<Void>() {
- @Override
- public void onSuccess(Void v) {
- Log.d(TAG, "Successfully synchronized notes for " + currentAccount.getAccountName());
- }
+ try {
+ // It is possible that after the deletion of the last account, this onResponse gets called before the ImportAccountActivity gets started.
+ if (SingleAccountHelper.getCurrentSingleSignOnAccount(this) != null) {
+ mainViewModel.synchronizeNotes(currentAccount, new IResponseCallback<Void>() {
+ @Override
+ public void onSuccess(Void v) {
+ Log.d(TAG, "Successfully synchronized notes for " + currentAccount.getAccountName());
+ }
- @Override
- public void onError(@NonNull Throwable t) {
- t.printStackTrace();
+ @Override
+ public void onError(@NonNull Throwable t) {
+ t.printStackTrace();
+ }
+ });
}
- });
+ } catch (NextcloudFilesAppAccountNotFoundException e) {
+ ExceptionDialogFragment.newInstance(e).show(getSupportFragmentManager(), ExceptionDialogFragment.class.getSimpleName());
+ } catch (NoCurrentAccountSelectedException e) {
+ Log.i(TAG, "No current account is selected - maybe the last account has been deleted?");
+ }
});
super.onResume();
}