diff options
| -rw-r--r-- | services/core/java/com/android/server/locksettings/LockSettingsService.java | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index c314ab06fbad..3f915757f137 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -369,16 +369,7 @@ public class LockSettingsService extends ILockSettings.Stub { @Override public void onBootPhase(int phase) { super.onBootPhase(phase); - if (phase == PHASE_ACTIVITY_MANAGER_READY) { - mLockSettingsService.migrateOldDataAfterSystemReady(); - mLockSettingsService.deleteRepairModePersistentDataIfNeeded(); - } else if (phase == PHASE_BOOT_COMPLETED) { - // In the case of an upgrade, PHASE_BOOT_COMPLETED means that a rollback to the old - // build can no longer occur. This is the time to destroy any migrated protectors. - mLockSettingsService.destroyMigratedProtectors(); - - mLockSettingsService.loadEscrowData(); - } + mLockSettingsService.onBootPhase(phase); } @Override @@ -397,6 +388,21 @@ public class LockSettingsService extends ILockSettings.Stub { } } + private void onBootPhase(int phase) { + if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY) { + migrateOldDataAfterSystemReady(); + deleteRepairModePersistentDataIfNeeded(); + } else if (phase == SystemService.PHASE_BOOT_COMPLETED) { + mHandler.post(() -> { + // In the case of an upgrade, PHASE_BOOT_COMPLETED means that a rollback to the old + // build can no longer occur. This is the time to destroy any migrated protectors. + destroyMigratedProtectors(); + + loadEscrowData(); + }); + } + } + @VisibleForTesting protected static class SynchronizedStrongAuthTracker extends LockPatternUtils.StrongAuthTracker { |