Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c40e9a3d authored by Eric Biggers's avatar Eric Biggers Committed by Gerrit Code Review
Browse files

Merge "Handle PHASE_BOOT_COMPLETED asynchronously in LockSettingsService" into main

parents b14e715b 04f3cc7f
Loading
Loading
Loading
Loading
+16 −10
Original line number Diff line number Diff line
@@ -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 {