mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-19 16:19:33 +01:00
Fix navigation for creating a new pin if forgotten or skipped during registration
Co-authored-by: henry <henry.ph2@gmail.com> Closes #12183
This commit is contained in:
@@ -34,5 +34,6 @@ public final class PinRestoreActivity extends AppCompatActivity {
|
||||
final Intent chained = PassphraseRequiredActivity.chainIntent(createPin, main);
|
||||
|
||||
startActivity(chained);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,6 +227,7 @@ public class PinRestoreEntryFragment extends LoggingFragment {
|
||||
}
|
||||
|
||||
private void onAccountLocked() {
|
||||
PinState.onPinRestoreForgottenOrSkipped();
|
||||
SafeNavigation.safeNavigate(Navigation.findNavController(requireView()), PinRestoreEntryFragmentDirections.actionAccountLocked());
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,7 @@ public final class PinState {
|
||||
SignalStore.kbsValues().setKbsMasterKey(kbsData, pin);
|
||||
SignalStore.kbsValues().setV2RegistrationLockEnabled(false);
|
||||
SignalStore.pinValues().resetPinReminders();
|
||||
SignalStore.kbsValues().setPinForgottenOrSkipped(false);
|
||||
SignalStore.storageService().setNeedsAccountRestore(false);
|
||||
resetPinRetryCount(context, pin);
|
||||
ClearFallbackKbsEnclaveJob.clearAll();
|
||||
@@ -99,6 +100,7 @@ public final class PinState {
|
||||
public static synchronized void onPinRestoreForgottenOrSkipped() {
|
||||
SignalStore.kbsValues().clearRegistrationLockAndPin();
|
||||
SignalStore.storageService().setNeedsAccountRestore(false);
|
||||
SignalStore.kbsValues().setPinForgottenOrSkipped(true);
|
||||
|
||||
updateState(buildInferredStateFromOtherFields());
|
||||
}
|
||||
@@ -122,6 +124,7 @@ public final class PinState {
|
||||
KbsPinData kbsData = pinChangeSession.setPin(hashedPin, masterKey);
|
||||
|
||||
kbsValues.setKbsMasterKey(kbsData, pin);
|
||||
kbsValues.setPinForgottenOrSkipped(false);
|
||||
TextSecurePreferences.clearRegistrationLockV1(context);
|
||||
SignalStore.pinValues().setKeyboardType(keyboard);
|
||||
SignalStore.pinValues().resetPinReminders();
|
||||
|
||||
Reference in New Issue
Block a user