diff --git a/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActivity.java b/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActivity.java index d4fe50606b..d0d6c3cfee 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActivity.java @@ -194,7 +194,7 @@ public abstract class PassphraseRequiredActivity extends BaseActivity implements } private Intent getPushRegistrationIntent() { - return RegistrationNavigationActivity.newIntentForNewRegistration(this); + return RegistrationNavigationActivity.newIntentForNewRegistration(this, getIntent()); } private Intent getEnterSignalPinIntent() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java index 66d47fe04f..bc6a2d8262 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/RegistrationNavigationActivity.java @@ -7,6 +7,7 @@ import android.content.IntentFilter; import android.os.Bundle; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatDelegate; @@ -18,6 +19,7 @@ import org.greenrobot.eventbus.EventBus; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.service.VerificationCodeParser; +import org.thoughtcrime.securesms.util.CommunicationActions; import org.whispersystems.libsignal.util.guava.Optional; public final class RegistrationNavigationActivity extends AppCompatActivity { @@ -28,9 +30,16 @@ public final class RegistrationNavigationActivity extends AppCompatActivity { private SmsRetrieverReceiver smsRetrieverReceiver; - public static Intent newIntentForNewRegistration(@NonNull Context context) { + /** + */ + public static Intent newIntentForNewRegistration(@NonNull Context context, @Nullable Intent originalIntent) { Intent intent = new Intent(context, RegistrationNavigationActivity.class); intent.putExtra(RE_REGISTRATION_EXTRA, false); + + if (intent != null) { + intent.setData(originalIntent.getData()); + } + return intent; } @@ -51,6 +60,19 @@ public final class RegistrationNavigationActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_registration_navigation); initializeChallengeListener(); + + if (getIntent() != null && getIntent().getData() != null) { + CommunicationActions.handlePotentialProxyLinkUrl(this, getIntent().getDataString()); + } + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + + if (intent.getData() != null) { + CommunicationActions.handlePotentialProxyLinkUrl(this, intent.getDataString()); + } } @Override