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:
authorStefan Niedermann <info@niedermann.it>2020-06-15 12:18:00 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2020-06-15 21:32:47 +0300
commit841afe3993b8730c7daa094457a811168fba4b6a (patch)
treeeebd72afe9c85bcf33f059ac5718436227101fa3 /app/src/main/java
parentfe8923853c8ce667febb1e4c0f19c12bd6fd74b5 (diff)
Fix list menu
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java14
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java17
3 files changed, 13 insertions, 20 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
index 2423ed3c1..d2e350c15 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
@@ -333,7 +333,9 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
@Override
public void onPageSelected(int position) {
- invalidateOptionsMenu();
+ final int currentViewPagerItem = binding.viewPager.getCurrentItem();
+ listMenu.findItem(R.id.move_list_left).setVisible(currentBoardHasStacks && currentViewPagerItem > 0);
+ listMenu.findItem(R.id.move_list_right).setVisible(currentBoardHasStacks && currentViewPagerItem < currentBoardStacksCount - 1);
binding.viewPager.post(() -> {
// stackAdapter size might differ from position when an account has been deleted
if (stackAdapter.getItemCount() > position) {
@@ -567,12 +569,6 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
currentBoardHasStacks = true;
}
- final int currentViewPagerItem = binding.viewPager.getCurrentItem();
- listMenu.findItem(R.id.rename_list).setVisible(currentBoardHasStacks);
- listMenu.findItem(R.id.move_list_left).setVisible(currentBoardHasStacks && currentViewPagerItem > 0);
- listMenu.findItem(R.id.move_list_right).setVisible(currentBoardHasStacks && currentViewPagerItem < currentBoardStacksCount - 1);
- listMenu.findItem(R.id.delete_list).setVisible(currentBoardHasStacks);
-
int stackPositionInAdapter = 0;
stackAdapter.setStacks(fullStacks);
@@ -602,7 +598,9 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
}
updateTabLayoutHelper(tabTitleGenerator);
});
- invalidateOptionsMenu();
+
+ listMenu.findItem(R.id.rename_list).setVisible(currentBoardHasStacks);
+ listMenu.findItem(R.id.delete_list).setVisible(currentBoardHasStacks);
});
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherAdapter.java
index 5e9bb0695..1bfc34e3b 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherAdapter.java
@@ -46,7 +46,7 @@ public class AccountSwitcherAdapter extends RecyclerView.Adapter<AccountSwitcher
return localAccounts.size();
}
- public void setLocalAccounts(@NonNull List<Account> localAccounts) {
+ public void setAccounts(@NonNull List<Account> localAccounts) {
this.localAccounts.clear();
this.localAccounts.addAll(localAccounts);
notifyDataSetChanged();
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) -> {