From ac2ad2ed33bc2344b2ddd4b8241f95c1069cd1ac Mon Sep 17 00:00:00 2001 From: adbenitez Date: Fri, 15 Oct 2021 02:05:47 -0400 Subject: [PATCH] select previous account when rolling back account creation --- .../securesms/connect/AccountManager.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/org/thoughtcrime/securesms/connect/AccountManager.java b/src/org/thoughtcrime/securesms/connect/AccountManager.java index 50021133a..8e7d1af06 100644 --- a/src/org/thoughtcrime/securesms/connect/AccountManager.java +++ b/src/org/thoughtcrime/securesms/connect/AccountManager.java @@ -25,6 +25,7 @@ import java.lang.ref.WeakReference; public class AccountManager { private static final String TAG = AccountManager.class.getSimpleName(); + private static final String LAST_ACCOUNT_ID = "last_account_id"; private static AccountManager self; private void resetDcContext(Context context) { @@ -85,7 +86,13 @@ public class AccountManager { // add accounts public int beginAccountCreation(Context context) { - int id = DcHelper.getAccounts(context).addAccount(); + DcAccounts accounts = DcHelper.getAccounts(context); + DcContext selectedAccount = accounts.getSelectedAccount(); + if (selectedAccount.isOk()) { + PreferenceManager.getDefaultSharedPreferences(context).edit().putInt(LAST_ACCOUNT_ID, selectedAccount.getAccountId()).apply(); + } + + int id = accounts.addAccount(); resetDcContext(context); return id; } @@ -102,7 +109,8 @@ public class AccountManager { accounts.removeAccount(selectedAccount.getAccountId()); } - new SwitchAccountAsyncTask(activity, R.string.switching_account, accounts.getSelectedAccount().getAccountId(), null).execute(); + int lastAccountId = PreferenceManager.getDefaultSharedPreferences(activity).getInt(LAST_ACCOUNT_ID, accounts.getSelectedAccount().getAccountId()); + new SwitchAccountAsyncTask(activity, R.string.switching_account, lastAccountId, null).execute(); }