mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 02:10:44 +01:00
Attempt to reclaim username in more places during/after registration.
This commit is contained in:
committed by
Michelle Tang
parent
9d3f4ffa08
commit
7a5790a6ce
@@ -12,6 +12,8 @@ import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.RestoreDecisionState
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.jobs.ReclaimUsernameAndLinkJob
|
||||
import org.thoughtcrime.securesms.keyvalue.Completed
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.registration.util.RegistrationUtil
|
||||
@@ -24,6 +26,8 @@ class NewDeviceTransferViewModel : ViewModel() {
|
||||
RegistrationRepository.registerAccountLocally(context, metadata)
|
||||
SignalStore.registration.localRegistrationMetadata = null
|
||||
RegistrationUtil.maybeMarkRegistrationComplete()
|
||||
|
||||
AppDependencies.jobManager.add(ReclaimUsernameAndLinkJob())
|
||||
}
|
||||
|
||||
SignalStore.registration.restoreDecisionState = RestoreDecisionState.Completed
|
||||
|
||||
@@ -871,6 +871,8 @@ class RegistrationViewModel : ViewModel() {
|
||||
stopwatch.split("storage-sync")
|
||||
|
||||
stopwatch.stop(TAG)
|
||||
} else if (SignalStore.misc.needsUsernameRestore) {
|
||||
AppDependencies.jobManager.runSynchronously(ReclaimUsernameAndLinkJob(), TimeUnit.SECONDS.toMillis(10))
|
||||
}
|
||||
|
||||
refreshRemoteConfig()
|
||||
|
||||
@@ -31,12 +31,14 @@ import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.jobs.MultiDeviceProfileContentUpdateJob
|
||||
import org.thoughtcrime.securesms.jobs.MultiDeviceProfileKeyUpdateJob
|
||||
import org.thoughtcrime.securesms.jobs.ProfileUploadJob
|
||||
import org.thoughtcrime.securesms.jobs.ReclaimUsernameAndLinkJob
|
||||
import org.thoughtcrime.securesms.keyvalue.NewAccount
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.keyvalue.Skipped
|
||||
import org.thoughtcrime.securesms.keyvalue.Start
|
||||
import org.thoughtcrime.securesms.keyvalue.intendToRestore
|
||||
import org.thoughtcrime.securesms.keyvalue.isDecisionPending
|
||||
import org.thoughtcrime.securesms.keyvalue.isTerminal
|
||||
import org.thoughtcrime.securesms.keyvalue.isWantingManualRemoteRestore
|
||||
import org.thoughtcrime.securesms.permissions.Permissions
|
||||
import org.thoughtcrime.securesms.pin.SvrRepository
|
||||
@@ -891,10 +893,12 @@ class RegistrationViewModel : ViewModel() {
|
||||
if (reglockEnabled || SignalStore.svr.hasOptedInWithAccess()) {
|
||||
SignalStore.onboarding.clearAll()
|
||||
|
||||
if (!SignalStore.registration.restoreDecisionState.isDecisionPending) {
|
||||
if (SignalStore.registration.restoreDecisionState.isTerminal) {
|
||||
Log.d(TAG, "No pending restore decisions, can restore account from storage service")
|
||||
StorageServiceRestore.restore()
|
||||
}
|
||||
} else if (SignalStore.registration.restoreDecisionState.isTerminal && SignalStore.misc.needsUsernameRestore) {
|
||||
AppDependencies.jobManager.runSynchronously(ReclaimUsernameAndLinkJob(), 10.seconds.inWholeMilliseconds)
|
||||
}
|
||||
|
||||
if (SignalStore.account.restoredAccountEntropyPool) {
|
||||
|
||||
@@ -17,6 +17,8 @@ import kotlinx.coroutines.launch
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.backup.BackupEvent
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.RestoreDecisionState
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.jobs.ReclaimUsernameAndLinkJob
|
||||
import org.thoughtcrime.securesms.keyvalue.Completed
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.registration.data.RegistrationRepository
|
||||
@@ -94,6 +96,8 @@ class RestoreLocalBackupViewModel(fileBackupUri: Uri) : ViewModel() {
|
||||
RegistrationRepository.registerAccountLocally(context, it)
|
||||
SignalStore.registration.localRegistrationMetadata = null
|
||||
RegistrationUtil.maybeMarkRegistrationComplete()
|
||||
|
||||
AppDependencies.jobManager.add(ReclaimUsernameAndLinkJob())
|
||||
}
|
||||
|
||||
SignalStore.registration.restoreDecisionState = RestoreDecisionState.Completed
|
||||
|
||||
Reference in New Issue
Block a user