diff options
| author | 2018-06-26 21:48:16 +0000 | |
|---|---|---|
| committer | 2018-06-26 21:48:16 +0000 | |
| commit | aa21ec053cf2e80a0f53e650ed4e0da77c9f5c29 (patch) | |
| tree | 4ba537b141d0ee038c3f6c87b806dffa01190793 | |
| parent | 70a9f39e6af4412b64b118ee3431595ea961ffd5 (diff) | |
| parent | 193677c2ed2286b773edffb8b36e21347db759ce (diff) | |
Merge "Do not animate scrims when launching camera" into pi-dev
4 files changed, 29 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 2d8b54527cb9..7bd5fd0430c2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -221,6 +221,7 @@ public class NotificationPanelView extends PanelView implements private boolean mClosingWithAlphaFadeOut; private boolean mHeadsUpAnimatingAway; private boolean mLaunchingAffordance; + private boolean mAffordanceHasPreview; private FalsingManager mFalsingManager; private String mLastCameraLaunchSource = KeyguardBottomAreaView.CAMERA_LAUNCH_SOURCE_AFFORDANCE; @@ -2569,6 +2570,7 @@ public class NotificationPanelView extends PanelView implements } else { animate = false; } + mAffordanceHasPreview = mKeyguardBottomArea.getRightPreview() != null; mAffordanceHelper.launchAffordance(animate, getLayoutDirection() == LAYOUT_DIRECTION_RTL); } @@ -2614,6 +2616,13 @@ public class NotificationPanelView extends PanelView implements } /** + * Return true when a bottom affordance is launching an occluded activity with a splash screen. + */ + public boolean isLaunchingAffordanceWithPreview() { + return mLaunchingAffordance && mAffordanceHasPreview; + } + + /** * Whether the camera application can be launched for the camera launch gesture. * * @param keyguardIsShowing whether keyguard is being shown diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java index 482cffa05901..61f0e1cb29c7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -889,9 +889,14 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo } public void setHasBackdrop(boolean hasBackdrop) { - ScrimState[] states = ScrimState.values(); - for (int i = 0; i < states.length; i++) { - states[i].setHasBackdrop(hasBackdrop); + for (ScrimState state : ScrimState.values()) { + state.setHasBackdrop(hasBackdrop); + } + } + + public void setLaunchingAffordanceWithPreview(boolean launchingAffordanceWithPreview) { + for (ScrimState state : ScrimState.values()) { + state.setLaunchingAffordanceWithPreview(launchingAffordanceWithPreview); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java index ec6ada409fcc..cdbad596051b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java @@ -144,6 +144,7 @@ public enum ScrimState { mCurrentBehindAlpha = 0; mCurrentInFrontAlpha = 0; mAnimationDuration = StatusBar.FADE_KEYGUARD_DURATION; + mAnimateChange = !mLaunchingAffordanceWithPreview; if (previousState == ScrimState.AOD || previousState == ScrimState.PULSING) { // Fade from black to transparent when coming directly from AOD @@ -177,6 +178,7 @@ public enum ScrimState { boolean mWallpaperSupportsAmbientMode; int mIndex; boolean mHasBackdrop; + boolean mLaunchingAffordanceWithPreview; ScrimState(int index) { mIndex = index; @@ -249,6 +251,10 @@ public enum ScrimState { mWallpaperSupportsAmbientMode = wallpaperSupportsAmbientMode; } + public void setLaunchingAffordanceWithPreview(boolean launchingAffordanceWithPreview) { + mLaunchingAffordanceWithPreview = launchingAffordanceWithPreview; + } + public boolean isLowPowerState() { return false; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 182f9f758fb0..9f240853c687 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -4736,6 +4736,10 @@ public class StatusBar extends SystemUI implements DemoMode, mScrimController.setExpansionAffectsAlpha( !mFingerprintUnlockController.isFingerprintUnlock()); + boolean launchingAffordanceWithPreview = + mNotificationPanel.isLaunchingAffordanceWithPreview(); + mScrimController.setLaunchingAffordanceWithPreview(launchingAffordanceWithPreview); + if (mBouncerShowing) { // Bouncer needs the front scrim when it's on top of an activity, // tapping on a notification, editing QS or being dismissed by @@ -4745,7 +4749,8 @@ public class StatusBar extends SystemUI implements DemoMode, || mStatusBarKeyguardViewManager.isFullscreenBouncer() ? ScrimState.BOUNCER_SCRIMMED : ScrimState.BOUNCER; mScrimController.transitionTo(state); - } else if (mLaunchCameraOnScreenTurningOn || isInLaunchTransition()) { + } else if (isInLaunchTransition() || mLaunchCameraOnScreenTurningOn + || launchingAffordanceWithPreview) { mScrimController.transitionTo(ScrimState.UNLOCKED, mUnlockScrimCallback); } else if (mBrightnessMirrorVisible) { mScrimController.transitionTo(ScrimState.BRIGHTNESS_MIRROR); |