diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 2a94b082a0165..51af8fb068c94 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -1501,13 +1501,17 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, notifyFinishedGoingToSleep(); if (cameraGestureTriggered) { - // Just to make sure, make sure the device is awake. mContext.getSystemService(PowerManager.class).wakeUp(SystemClock.uptimeMillis(), PowerManager.WAKE_REASON_CAMERA_LAUNCH, "com.android.systemui:CAMERA_GESTURE_PREVENT_LOCK"); setPendingLock(false); mPendingReset = false; + mPowerGestureIntercepted = true; + if (DEBUG) { + Log.d(TAG, "cameraGestureTriggered=" + cameraGestureTriggered + + ",mPowerGestureIntercepted=" + mPowerGestureIntercepted); + } } if (mPendingReset) { @@ -1706,7 +1710,13 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, mAnimatingScreenOff = false; cancelDoKeyguardLaterLocked(); cancelDoKeyguardForChildProfilesLocked(); - if (DEBUG) Log.d(TAG, "onStartedWakingUp, seq = " + mDelayedShowingSequence); + if (cameraGestureTriggered) { + mPowerGestureIntercepted = true; + } + if (DEBUG) { + Log.d(TAG, "onStartedWakingUp, seq = " + mDelayedShowingSequence + + ", mPowerGestureIntercepted = " + mPowerGestureIntercepted); + } notifyStartedWakingUp(); } mUiEventLogger.logWithInstanceIdAndPosition( @@ -1933,12 +1943,19 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, startKeyguardExitAnimation(0, 0); } + mPowerGestureIntercepted = mUpdateMonitor.isSecureCameraLaunchedOverKeyguard(); + if (mOccluded != isOccluded) { mOccluded = isOccluded; mKeyguardViewControllerLazy.get().setOccluded(isOccluded, animate && mDeviceInteractive); adjustStatusBarLocked(); } + + if (DEBUG) { + Log.d(TAG, "isOccluded=" + isOccluded + ",mPowerGestureIntercepted=" + + mPowerGestureIntercepted); + } } Trace.endSection(); } @@ -3056,6 +3073,10 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, flags |= StatusBarManager.DISABLE_RECENT; } + if (mPowerGestureIntercepted) { + flags |= StatusBarManager.DISABLE_RECENT; + } + if (DEBUG) { Log.d(TAG, "adjustStatusBarLocked: mShowing=" + mShowing + " mOccluded=" + mOccluded + " isSecure=" + isSecure() + " force=" + forceHideHomeRecentsButtons