diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java index 64b898aea8cea..ad57ae2cecb39 100644 --- a/services/core/java/com/android/server/am/ActivityStarter.java +++ b/services/core/java/com/android/server/am/ActivityStarter.java @@ -620,6 +620,10 @@ class ActivityStarter { .getSystemService(Context.KEYGUARD_SERVICE); final Intent credential = km.createConfirmDeviceCredentialIntent(null, null, userId); + // For safety, check null here in case users changed the setting after the checking. + if (credential == null) { + return; + } final ActivityRecord activityRecord = targetStack.topRunningActivityLocked(); if (activityRecord != null) { final IIntentSender target = mService.getIntentSenderLocked( diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index c4e39c940e330..595d086abf358 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -1468,7 +1468,7 @@ final class UserController { } final KeyguardManager km = (KeyguardManager) mService.mContext .getSystemService(KEYGUARD_SERVICE); - return km.isDeviceLocked(userId); + return km.isDeviceLocked(userId) && km.isDeviceSecure(userId); } boolean isLockScreenDisabled(@UserIdInt int userId) {