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

Commit ba066570 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Handle auto-unlocked managed profiles.

There are cases where a managed profile provides an auth challenge
which is really an automatic unlock as a side effect from the parent
profile being unlocked.  Detect this case and suppress PRE_BOOT
notifications.

Bug: 29931646
Change-Id: I801605b0b59a7924bfe7f433415d9704664a5cbc
parent 142c4f7a
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -352,9 +352,15 @@ final class UserController {
                final UserInfo info = getUserInfo(userId);
                if (!Objects.equals(info.lastLoggedInFingerprint, Build.FINGERPRINT)) {
                    // Suppress double notifications for managed profiles that
                    // were unlocked automatically (no challenge token required)
                    // as part of their parent user being unlocked.
                    final boolean quiet = info.isManagedProfile() && !uss.tokenProvided;
                    // were unlocked automatically as part of their parent user
                    // being unlocked.
                    final boolean quiet;
                    if (info.isManagedProfile()) {
                        quiet = !uss.tokenProvided
                                || !mLockPatternUtils.isSeparateProfileChallengeEnabled(userId);
                    } else {
                        quiet = false;
                    }
                    new PreBootBroadcaster(mService, userId, null, quiet) {
                        @Override
                        public void onFinished() {