Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java +30 −10 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ public class DozeScrimController { private boolean mFullyPulsing; private float mAodFrontScrimOpacity = 0; private Runnable mSetDozeInFrontAlphaDelayed; public DozeScrimController(ScrimController scrimController, Context context) { mContext = context; Loading @@ -69,8 +70,7 @@ public class DozeScrimController { mDozingAborted = false; abortAnimations(); mScrimController.setDozeBehindAlpha(1f); mScrimController.setDozeInFrontAlpha( mDozeParameters.getAlwaysOn() ? mAodFrontScrimOpacity : 1f); setDozeInFrontAlpha(mDozeParameters.getAlwaysOn() ? mAodFrontScrimOpacity : 1f); } else { cancelPulsing(); if (animate) { Loading @@ -83,7 +83,7 @@ public class DozeScrimController { } else { abortAnimations(); mScrimController.setDozeBehindAlpha(0f); mScrimController.setDozeInFrontAlpha(0f); setDozeInFrontAlpha(0f); } } } Loading @@ -97,7 +97,7 @@ public class DozeScrimController { mAodFrontScrimOpacity = scrimOpacity; if (mDozing && !isPulsing() && !mDozingAborted && !mWakeAndUnlocking && mDozeParameters.getAlwaysOn()) { mScrimController.setDozeInFrontAlpha(mAodFrontScrimOpacity); setDozeInFrontAlpha(mAodFrontScrimOpacity); } } Loading @@ -107,7 +107,7 @@ public class DozeScrimController { if (!mWakeAndUnlocking) { mWakeAndUnlocking = true; mScrimController.setDozeBehindAlpha(0f); mScrimController.setDozeInFrontAlpha(0f); setDozeInFrontAlpha(0f); } } Loading @@ -127,7 +127,7 @@ public class DozeScrimController { // be invoked when we're done so that the caller can drop the pulse wakelock. mPulseCallback = callback; mPulseReason = reason; mScrimController.setDozeInFrontAlpha(1f); setDozeInFrontAlpha(1f); mHandler.post(mPulseIn); } Loading @@ -138,9 +138,8 @@ public class DozeScrimController { cancelPulsing(); if (mDozing && !mWakeAndUnlocking) { mScrimController.setDozeBehindAlpha(1f); mScrimController.setDozeInFrontAlpha( mDozeParameters.getAlwaysOn() && !mDozingAborted ? mAodFrontScrimOpacity : 1f); setDozeInFrontAlpha(mDozeParameters.getAlwaysOn() && !mDozingAborted ? mAodFrontScrimOpacity : 1f); } } Loading Loading @@ -295,6 +294,25 @@ public class DozeScrimController { : mScrimController.getDozeBehindAlpha(); } private void setDozeInFrontAlpha(float opacity) { setDozeInFrontAlphaDelayed(opacity, 0 /* delay */); } private void setDozeInFrontAlphaDelayed(float opacity, long delayMs) { if (mSetDozeInFrontAlphaDelayed != null) { mHandler.removeCallbacks(mSetDozeInFrontAlphaDelayed); mSetDozeInFrontAlphaDelayed = null; } if (delayMs < 0) { mScrimController.setDozeInFrontAlpha(opacity); } else { mHandler.postDelayed(mSetDozeInFrontAlphaDelayed = () -> { setDozeInFrontAlpha(opacity); }, delayMs); } } private final Runnable mPulseIn = new Runnable() { @Override public void run() { Loading Loading @@ -364,7 +382,9 @@ public class DozeScrimController { // Signal that the pulse is all finished so we can turn the screen off now. DozeScrimController.this.pulseFinished(); if (mDozeParameters.getAlwaysOn()) { mScrimController.setDozeInFrontAlpha(mAodFrontScrimOpacity); // Setting power states can happen after we push out the frame. Make sure we // stay fully opaque until the power state request reaches the lower levels. setDozeInFrontAlphaDelayed(mAodFrontScrimOpacity, 30); } } }; Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java +30 −10 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ public class DozeScrimController { private boolean mFullyPulsing; private float mAodFrontScrimOpacity = 0; private Runnable mSetDozeInFrontAlphaDelayed; public DozeScrimController(ScrimController scrimController, Context context) { mContext = context; Loading @@ -69,8 +70,7 @@ public class DozeScrimController { mDozingAborted = false; abortAnimations(); mScrimController.setDozeBehindAlpha(1f); mScrimController.setDozeInFrontAlpha( mDozeParameters.getAlwaysOn() ? mAodFrontScrimOpacity : 1f); setDozeInFrontAlpha(mDozeParameters.getAlwaysOn() ? mAodFrontScrimOpacity : 1f); } else { cancelPulsing(); if (animate) { Loading @@ -83,7 +83,7 @@ public class DozeScrimController { } else { abortAnimations(); mScrimController.setDozeBehindAlpha(0f); mScrimController.setDozeInFrontAlpha(0f); setDozeInFrontAlpha(0f); } } } Loading @@ -97,7 +97,7 @@ public class DozeScrimController { mAodFrontScrimOpacity = scrimOpacity; if (mDozing && !isPulsing() && !mDozingAborted && !mWakeAndUnlocking && mDozeParameters.getAlwaysOn()) { mScrimController.setDozeInFrontAlpha(mAodFrontScrimOpacity); setDozeInFrontAlpha(mAodFrontScrimOpacity); } } Loading @@ -107,7 +107,7 @@ public class DozeScrimController { if (!mWakeAndUnlocking) { mWakeAndUnlocking = true; mScrimController.setDozeBehindAlpha(0f); mScrimController.setDozeInFrontAlpha(0f); setDozeInFrontAlpha(0f); } } Loading @@ -127,7 +127,7 @@ public class DozeScrimController { // be invoked when we're done so that the caller can drop the pulse wakelock. mPulseCallback = callback; mPulseReason = reason; mScrimController.setDozeInFrontAlpha(1f); setDozeInFrontAlpha(1f); mHandler.post(mPulseIn); } Loading @@ -138,9 +138,8 @@ public class DozeScrimController { cancelPulsing(); if (mDozing && !mWakeAndUnlocking) { mScrimController.setDozeBehindAlpha(1f); mScrimController.setDozeInFrontAlpha( mDozeParameters.getAlwaysOn() && !mDozingAborted ? mAodFrontScrimOpacity : 1f); setDozeInFrontAlpha(mDozeParameters.getAlwaysOn() && !mDozingAborted ? mAodFrontScrimOpacity : 1f); } } Loading Loading @@ -295,6 +294,25 @@ public class DozeScrimController { : mScrimController.getDozeBehindAlpha(); } private void setDozeInFrontAlpha(float opacity) { setDozeInFrontAlphaDelayed(opacity, 0 /* delay */); } private void setDozeInFrontAlphaDelayed(float opacity, long delayMs) { if (mSetDozeInFrontAlphaDelayed != null) { mHandler.removeCallbacks(mSetDozeInFrontAlphaDelayed); mSetDozeInFrontAlphaDelayed = null; } if (delayMs < 0) { mScrimController.setDozeInFrontAlpha(opacity); } else { mHandler.postDelayed(mSetDozeInFrontAlphaDelayed = () -> { setDozeInFrontAlpha(opacity); }, delayMs); } } private final Runnable mPulseIn = new Runnable() { @Override public void run() { Loading Loading @@ -364,7 +382,9 @@ public class DozeScrimController { // Signal that the pulse is all finished so we can turn the screen off now. DozeScrimController.this.pulseFinished(); if (mDozeParameters.getAlwaysOn()) { mScrimController.setDozeInFrontAlpha(mAodFrontScrimOpacity); // Setting power states can happen after we push out the frame. Make sure we // stay fully opaque until the power state request reaches the lower levels. setDozeInFrontAlphaDelayed(mAodFrontScrimOpacity, 30); } } }; Loading