diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 8a09b7c69f9d3..055b5ef4e7b4f 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -920,9 +920,27 @@ public class KeyguardViewMediator extends SystemUI { } catch (RemoteException e) { Slog.w(TAG, "Failed to call onKeyguardExitResult(false)", e); } + } else if (!isSecure()) { + + // Keyguard is not secure, no need to do anything, and we don't need to reshow + // the Keyguard after the client releases the Keyguard lock. + mExternallyEnabled = true; + mNeedToReshowWhenReenabled = false; + updateInputRestricted(); + try { + callback.onKeyguardExitResult(true); + } catch (RemoteException e) { + Slog.w(TAG, "Failed to call onKeyguardExitResult(false)", e); + } } else { - mExitSecureCallback = callback; - verifyUnlockLocked(); + + // Since we prevent apps from hiding the Keyguard if we are secure, this should be + // a no-op as well. + try { + callback.onKeyguardExitResult(false); + } catch (RemoteException e) { + Slog.w(TAG, "Failed to call onKeyguardExitResult(false)", e); + } } } }