diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SvrValues.kt b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SvrValues.kt index d6a663596b..aa2ca1a8e4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SvrValues.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SvrValues.kt @@ -227,6 +227,7 @@ class SvrValues internal constructor(store: KeyValueStore) : SignalStoreValues(s .putBoolean(OPTED_OUT, true) .remove(LOCK_LOCAL_PIN_HASH) .remove(PIN) + .remove(REGISTRATION_LOCK_ENABLED) .putLong(LAST_CREATE_FAILED_TIMESTAMP, -1) .commit() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/pin/SvrRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/pin/SvrRepository.kt index 70ebc8e168..1147477d7e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/pin/SvrRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/pin/SvrRepository.kt @@ -299,7 +299,8 @@ object SvrRepository { masterKey: MasterKey?, userPin: String?, hasPinToRestore: Boolean, - setRegistrationLockEnabled: Boolean + setRegistrationLockEnabled: Boolean, + restoredAEP: Boolean ) { Log.i(TAG, "[onRegistrationComplete] Starting", true) operationLock.withLock { @@ -321,8 +322,12 @@ object SvrRepository { AppDependencies.jobManager.add(ResetSvrGuessCountJob()) } else if (masterKey != null) { - Log.i(TAG, "[onRegistrationComplete] ReRegistered with key without pin") + Log.i(TAG, "[onRegistrationComplete] ReRegistered with key without pin", true) SignalStore.svr.masterKeyForInitialDataRestore = masterKey + if (restoredAEP && setRegistrationLockEnabled) { + Log.i(TAG, "[onRegistrationComplete] Registration Lock", true) + SignalStore.svr.isRegistrationLockEnabled = true + } } else if (hasPinToRestore) { Log.i(TAG, "[onRegistrationComplete] Has a PIN to restore.", true) SignalStore.svr.clearRegistrationLockAndPin() diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/data/RegistrationRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/data/RegistrationRepository.kt index 7647d6b222..b31efd4783 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/data/RegistrationRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/data/RegistrationRepository.kt @@ -219,7 +219,7 @@ object RegistrationRepository { NotificationManagerCompat.from(context).cancel(NotificationIds.UNREGISTERED_NOTIFICATION_ID) val masterKey = if (data.masterKey != null) MasterKey(data.masterKey.toByteArray()) else null - SvrRepository.onRegistrationComplete(masterKey, data.pin, hasPin, data.reglockEnabled) + SvrRepository.onRegistrationComplete(masterKey, data.pin, hasPin, data.reglockEnabled, false) AppDependencies.resetNetwork() AppDependencies.startNetwork() diff --git a/app/src/main/java/org/thoughtcrime/securesms/registrationv3/data/RegistrationRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/registrationv3/data/RegistrationRepository.kt index dcfdc04f64..a50e94ef91 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registrationv3/data/RegistrationRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registrationv3/data/RegistrationRepository.kt @@ -241,7 +241,7 @@ object RegistrationRepository { NotificationManagerCompat.from(context).cancel(NotificationIds.UNREGISTERED_NOTIFICATION_ID) val masterKey = if (data.masterKey != null) MasterKey(data.masterKey.toByteArray()) else null - SvrRepository.onRegistrationComplete(masterKey, data.pin, hasPin, data.reglockEnabled) + SvrRepository.onRegistrationComplete(masterKey, data.pin, hasPin, data.reglockEnabled, SignalStore.account.restoredAccountEntropyPool) AppDependencies.resetNetwork() AppDependencies.startNetwork()