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

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java17
1 files changed, 6 insertions, 11 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java
index d53cb130e..09592b7b7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java
@@ -20,13 +20,13 @@ import com.nextcloud.android.sso.exceptions.NextcloudFilesAppNotInstalledExcepti
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.DialogAccountSwitcherBinding;
-import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import it.niedermann.nextcloud.deck.ui.MainViewModel;
import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment;
import it.niedermann.nextcloud.deck.ui.manageaccounts.ManageAccountsActivity;
import it.niedermann.nextcloud.deck.util.ExceptionUtil;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
import static it.niedermann.nextcloud.deck.ui.MainActivity.ACTIVITY_MANAGE_ACCOUNTS;
import static it.niedermann.nextcloud.deck.ui.branding.BrandedActivity.applyBrandToLayerDrawable;
@@ -68,6 +68,11 @@ public class AccountSwitcherDialog extends BrandedDialogFragment {
.apply(RequestOptions.circleCropTransform())
.into(binding.currentAccountItemAvatar);
+ observeOnce(syncManager.readAccounts(), requireActivity(), (accounts) -> {
+ accounts.remove(viewModel.getCurrentAccount());
+ adapter.setAccounts(accounts);
+ });
+
binding.accountLayout.setOnClickListener((v) -> dismiss());
adapter = new AccountSwitcherAdapter((localAccount -> {
@@ -75,16 +80,6 @@ public class AccountSwitcherDialog extends BrandedDialogFragment {
dismiss();
}));
- syncManager.readAccounts().observe(requireActivity(), (localAccounts) -> {
- for (Account localAccount : localAccounts) {
- if (localAccount.getId() == viewModel.getCurrentAccount().getId()) {
- localAccounts.remove(localAccount);
- break;
- }
- }
- adapter.setLocalAccounts(localAccounts);
- });
-
binding.accountsList.setAdapter(adapter);
binding.addAccount.setOnClickListener((v) -> {