From bfb1fc02812ea5733e8de3b0d96c03653907b716 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Thu, 29 Aug 2024 21:09:56 +0200 Subject: [PATCH] allow to delete selected account --- .../accounts/AccountSelectionListFragment.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/accounts/AccountSelectionListFragment.java b/src/main/java/org/thoughtcrime/securesms/accounts/AccountSelectionListFragment.java index e903d7c2f..3c0a31ef9 100644 --- a/src/main/java/org/thoughtcrime/securesms/accounts/AccountSelectionListFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/accounts/AccountSelectionListFragment.java @@ -79,11 +79,7 @@ public class AccountSelectionListFragment extends DialogFragment int accountId = listItem.getAccountId(); DcAccounts dcAccounts = DcHelper.getAccounts(getActivity()); - if (accountId == dcAccounts.getSelectedAccount().getAccountId()) { - menu.findItem(R.id.delete).setVisible(false); - } else { - Util.redMenuItem(menu, R.id.delete); - } + Util.redMenuItem(menu, R.id.delete); if (dcAccounts.getAccount(accountId).isMuted()) { menu.findItem(R.id.menu_mute_notifications).setTitle(R.string.menu_unmute); @@ -122,9 +118,15 @@ public class AccountSelectionListFragment extends DialogFragment .setMessage(R.string.forget_login_confirmation_desktop) .setNegativeButton(R.string.cancel, (d, which) -> AccountManager.getInstance().showSwitchAccountMenu(activity)) .setPositiveButton(R.string.delete, (d2, which2) -> { + boolean selected = accountId == accounts.getSelectedAccount().getAccountId(); DcHelper.getNotificationCenter(activity).removeAllNotifiations(accountId); accounts.removeAccount(accountId); - AccountManager.getInstance().showSwitchAccountMenu(activity); + if (selected) { + DcContext selAcc = accounts.getSelectedAccount(); + AccountManager.getInstance().switchAccountAndStartActivity(activity, selAcc.isOk()? selAcc.getAccountId() : 0); + } else { + AccountManager.getInstance().showSwitchAccountMenu(activity); + } }) .show(); Util.redPositiveButton(dialog);