From 44a1ce42f0227914a0f248139177b0371b40aab4 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Tue, 20 Jan 2026 20:01:40 +0100 Subject: [PATCH 1/2] avoid account rollback in InstantOnboardingActivity --- .../securesms/InstantOnboardingActivity.java | 25 +++---------------- .../securesms/WelcomeActivity.java | 8 +----- 2 files changed, 5 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/InstantOnboardingActivity.java b/src/main/java/org/thoughtcrime/securesms/InstantOnboardingActivity.java index c2e8607a3..59aaed3a8 100644 --- a/src/main/java/org/thoughtcrime/securesms/InstantOnboardingActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/InstantOnboardingActivity.java @@ -23,7 +23,6 @@ import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; -import androidx.activity.OnBackPressedCallback; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; @@ -39,7 +38,6 @@ import com.google.zxing.integration.android.IntentIntegrator; import com.google.zxing.integration.android.IntentResult; import org.thoughtcrime.securesms.components.AvatarSelector; -import org.thoughtcrime.securesms.connect.AccountManager; import org.thoughtcrime.securesms.connect.DcEventCenter; import org.thoughtcrime.securesms.connect.DcHelper; import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto; @@ -75,7 +73,6 @@ public class InstantOnboardingActivity extends BaseActionBarActivity implements private static final String INSTANCES_URL = "https://chatmail.at/relays"; private static final String DEFAULT_CHATMAIL_HOST = "nine.testrun.org"; - public static final String FROM_WELCOME = "from_welcome"; private static final int REQUEST_CODE_AVATAR = 1; private ImageView avatar; @@ -106,9 +103,9 @@ public class InstantOnboardingActivity extends BaseActionBarActivity implements Objects.requireNonNull(getSupportActionBar()).setTitle(R.string.onboarding_create_instant_account); getSupportActionBar().setDisplayHomeAsUpEnabled(true); - boolean fromWelcome = getIntent().getBooleanExtra(FROM_WELCOME, false); + boolean configured = DcHelper.getContext(this).isConfigured() == 1; - if (DcHelper.getContext(this).isConfigured() == 1) { + if (configured) { // if account is configured it means we didn't come from Welcome screen nor from QR scanner, // instead, user clicked a dcaccount:// URI directly, so we need to just offer to add a new relay Uri uri = getIntent().getData(); @@ -116,25 +113,11 @@ public class InstantOnboardingActivity extends BaseActionBarActivity implements Intent intent = new Intent(this, RelayListActivity.class); intent.putExtra(RelayListActivity.EXTRA_QR_DATA, uri.toString()); startActivity(intent); - finish(); - return; } - // if URI is unexpectedly null, then fallback to new profile creation - AccountManager.getInstance().beginAccountCreation(this); + finish(); + return; } - getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(!fromWelcome) { - @Override - public void handleOnBackPressed() { - AccountManager accountManager = AccountManager.getInstance(); - if (accountManager.canRollbackAccountCreation(InstantOnboardingActivity.this)) { - accountManager.rollbackAccountCreation(InstantOnboardingActivity.this); - } else { - finish(); - } - } - }); - isDcLogin = false; providerHost = DEFAULT_CHATMAIL_HOST; providerQrData = DCACCOUNT + ":" + providerHost; diff --git a/src/main/java/org/thoughtcrime/securesms/WelcomeActivity.java b/src/main/java/org/thoughtcrime/securesms/WelcomeActivity.java index c70ae2119..a48a1f22e 100644 --- a/src/main/java/org/thoughtcrime/securesms/WelcomeActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/WelcomeActivity.java @@ -84,7 +84,7 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen signInDialog.dismiss(); }); - signUpButton.setOnClickListener((v) -> startInstantOnboardingActivity()); + signUpButton.setOnClickListener((v) -> startActivity(new Intent(this, InstantOnboardingActivity.class))); signInButton.setOnClickListener((v) -> signInDialog.show()); registerForEvents(); @@ -169,12 +169,6 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen Permissions.onRequestPermissionsResult(this, requestCode, permissions, grantResults); } - private void startInstantOnboardingActivity() { - Intent intent = new Intent(this, InstantOnboardingActivity.class); - intent.putExtra(InstantOnboardingActivity.FROM_WELCOME, true); - startActivity(intent); - } - private void startAddAsSecondDeviceActivity() { new IntentIntegrator(this).setCaptureActivity(RegistrationQrActivity.class) .addExtra(RegistrationQrActivity.ADD_AS_SECOND_DEVICE_EXTRA, true) From 947887f33566de7f4a32417b5f98db00d2d216d9 Mon Sep 17 00:00:00 2001 From: wch423 Date: Tue, 20 Jan 2026 14:20:05 +0100 Subject: [PATCH 2/2] Migrate deprecated `onBackPressed` calls --- src/main/AndroidManifest.xml | 1 - .../securesms/ContactSelectionActivity.java | 5 +-- .../securesms/ConversationActivity.java | 21 +++++++----- .../securesms/ConversationListActivity.java | 30 ++++++++++------- .../ConversationListArchiveActivity.java | 33 ++++++++++--------- .../securesms/CreateProfileActivity.java | 24 ++++++++------ .../securesms/LocalHelpActivity.java | 23 ++++++++----- .../securesms/WelcomeActivity.java | 26 ++++++++------- .../securesms/qr/BackupTransferActivity.java | 19 +++++++---- .../securesms/scribbles/ScribbleActivity.java | 7 ---- .../scribbles/StickerSelectActivity.java | 2 +- 11 files changed, 109 insertions(+), 82 deletions(-) diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 88921724e..70645bbf7 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -55,7 +55,6 @@ android:requestLegacyExternalStorage="true" tools:targetApi="TIRAMISU" android:hasFragileUserData="true" - android:enableOnBackInvokedCallback="false" >