From 1b6f819a649d7c05b22ac420fa6fcf4a634600ba Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Thu, 3 Sep 2015 16:01:53 -0700 Subject: [PATCH] Fixed a racecondition where the camera would not launch If the gesture was detected while turning on, the gesture would not launch. Bug: 23636271 Change-Id: I166759a55137163be0c3f38fe8d1dc0c18977e11 --- .../com/android/systemui/statusbar/phone/PhoneStatusBar.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 55b1127444233..13353d34d618c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -289,6 +289,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, private DozeServiceHost mDozeServiceHost; private boolean mWakeUpComingFromTouch; private PointF mWakeUpTouchLocation; + private boolean mScreenTurningOn; int mPixelFormat; Object mQueueLock = new Object(); @@ -3920,6 +3921,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } public void onScreenTurningOn() { + mScreenTurningOn = true; mNotificationPanel.onScreenTurningOn(); if (mLaunchCameraOnScreenTurningOn) { mNotificationPanel.launchCamera(false); @@ -3932,6 +3934,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } public void onScreenTurnedOn() { + mScreenTurningOn = false; mDozeScrimController.onScreenTurnedOn(); } @@ -4107,7 +4110,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mScrimController.dontAnimateBouncerChangesUntilNextFrame(); mGestureWakeLock.acquire(LAUNCH_TRANSITION_TIMEOUT_MS + 1000L); } - if (mStatusBarKeyguardViewManager.isScreenTurnedOn()) { + if (mScreenTurningOn || mStatusBarKeyguardViewManager.isScreenTurnedOn()) { mNotificationPanel.launchCamera(mDeviceInteractive /* animate */); } else { // We need to defer the camera launch until the screen comes on, since otherwise