Skip to content

Commit 90201a4

Browse files
cody-signalgreyson-signal
authored andcommitted
Fix invalid navigation to remote restore activity post registration.
1 parent 5f8eaa4 commit 90201a4

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

app/src/main/java/org/thoughtcrime/securesms/restore/RestoreActivity.kt

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ import org.signal.core.util.ThreadUtil
2525
import org.signal.core.util.getParcelableExtraCompat
2626
import org.signal.core.util.logging.Log
2727
import org.thoughtcrime.securesms.BaseActivity
28+
import org.thoughtcrime.securesms.MainActivity
2829
import org.thoughtcrime.securesms.PassphraseRequiredActivity
2930
import org.thoughtcrime.securesms.R
3031
import org.thoughtcrime.securesms.RestoreDirections
31-
import org.thoughtcrime.securesms.registration.ui.restore.RemoteRestoreActivity
3232
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme
3333
import org.thoughtcrime.securesms.util.TextSecurePreferences
3434
import org.thoughtcrime.securesms.util.navigation.safeNavigate
@@ -73,9 +73,20 @@ class RestoreActivity : BaseActivity() {
7373

7474
when (navTarget) {
7575
NavTarget.NEW_LANDING -> {
76-
if (!sharedViewModel.hasMultipleRestoreMethods()) {
77-
startActivity(RemoteRestoreActivity.getIntent(this, isOnlyOption = true))
78-
finish()
76+
if (sharedViewModel.hasNoRestoreMethods()) {
77+
Log.i(TAG, "No restore methods available, skipping")
78+
sharedViewModel.skipRestore()
79+
80+
val nextIntent = sharedViewModel.getNextIntent()
81+
82+
if (nextIntent != null) {
83+
Log.d(TAG, "Launching ${nextIntent.component}")
84+
startActivity(nextIntent)
85+
} else {
86+
startActivity(MainActivity.clearTop(this))
87+
}
88+
89+
supportFinishAfterTransition()
7990
}
8091
}
8192
NavTarget.LOCAL_RESTORE -> navController.safeNavigate(RestoreDirections.goDirectlyToChooseLocalBackup())
@@ -120,7 +131,7 @@ class RestoreActivity : BaseActivity() {
120131

121132
fun onBackupCompletedSuccessfully() {
122133
sharedViewModel.getNextIntent()?.let {
123-
Log.d(TAG, "Launching ${it.component}", Throwable())
134+
Log.d(TAG, "Launching ${it.component}")
124135
startActivity(it)
125136
}
126137

app/src/main/java/org/thoughtcrime/securesms/restore/RestoreViewModel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ class RestoreViewModel : ViewModel() {
5353

5454
fun getNextIntent(): Intent? = store.value.nextIntent
5555

56-
fun hasMultipleRestoreMethods(): Boolean {
57-
return getAvailableRestoreMethods().size > 1
56+
fun hasNoRestoreMethods(): Boolean {
57+
return getAvailableRestoreMethods().isEmpty()
5858
}
5959

6060
fun getAvailableRestoreMethods(): List<RestoreMethod> {

0 commit comments

Comments
 (0)