From 616b4954264b761acd11da3f5c036a5e92906c08 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 19 Jan 2026 22:13:47 +0100 Subject: [PATCH 1/2] only create a new account if the selected one is already configured --- .../securesms/connect/AccountManager.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/connect/AccountManager.java b/src/main/java/org/thoughtcrime/securesms/connect/AccountManager.java index 5763089d6..d005c18dc 100644 --- a/src/main/java/org/thoughtcrime/securesms/connect/AccountManager.java +++ b/src/main/java/org/thoughtcrime/securesms/connect/AccountManager.java @@ -5,7 +5,6 @@ import android.content.Context; import android.content.Intent; import android.util.Log; -import androidx.annotation.Nullable; import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceManager; @@ -14,7 +13,6 @@ import com.b44t.messenger.DcContext; import org.thoughtcrime.securesms.ApplicationContext; import org.thoughtcrime.securesms.ConversationListActivity; -import org.thoughtcrime.securesms.InstantOnboardingActivity; import org.thoughtcrime.securesms.WelcomeActivity; import org.thoughtcrime.securesms.accounts.AccountSelectionListFragment; @@ -123,10 +121,6 @@ public class AccountManager { } public void switchAccountAndStartActivity(Activity activity, int destAccountId) { - switchAccountAndStartActivity(activity, destAccountId, null); - } - - private void switchAccountAndStartActivity(Activity activity, int destAccountId, @Nullable String backupQr) { if (destAccountId==0) { beginAccountCreation(activity); } else { @@ -134,12 +128,8 @@ public class AccountManager { } activity.finishAffinity(); - if (destAccountId==0) { - Intent intent = new Intent(activity, WelcomeActivity.class); - if (backupQr != null) { - intent.putExtra(WelcomeActivity.BACKUP_QR_EXTRA, backupQr); - } - activity.startActivity(intent); + if (destAccountId == 0) { + activity.startActivity(new Intent(activity, WelcomeActivity.class)); } else { activity.startActivity(new Intent(activity.getApplicationContext(), ConversationListActivity.class)); } @@ -153,6 +143,15 @@ public class AccountManager { } public void addAccountFromSecondDevice(Activity activity, String backupQr) { - switchAccountAndStartActivity(activity, 0, backupQr); + DcAccounts accounts = DcHelper.getAccounts(activity); + if (accounts.getSelectedAccount().isConfigured() == 1) { + // the selected account is already configured, create a new one + beginAccountCreation(activity); + } + + activity.finishAffinity(); + Intent intent = new Intent(activity, WelcomeActivity.class); + intent.putExtra(WelcomeActivity.BACKUP_QR_EXTRA, backupQr); + activity.startActivity(intent); } } From f8c2403e6138cb7f62a3593990d8457603896081 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 19 Jan 2026 22:26:35 +0100 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ad674463..8e049fbdc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * Show hint for empty contact search results * Fix: Show dialog if pasted QR codes are invalid * Fix: Refresh chat list when returning from conversation if selected profile changed +* Fix: Avoid empty profiles after using "add as second device" from welcome screen * Update to core 2.36.0 ## v2.35.0