Loading packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +4 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.view.ViewTreeObserver; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import com.android.keyguard.BouncerPanelExpansionCalculator; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; import com.android.systemui.animation.ShadeInterpolation; Loading Loading @@ -593,7 +594,9 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca } else if (progress > 0 && view.getVisibility() != View.VISIBLE) { view.setVisibility((View.VISIBLE)); } float alpha = ShadeInterpolation.getContentAlpha(progress); float alpha = (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED) ? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(progress) : ShadeInterpolation.getContentAlpha(progress); view.setAlpha(alpha); } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java +5 −1 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import android.view.animation.Interpolator; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.util.LatencyTracker; import com.android.keyguard.BouncerPanelExpansionCalculator; import com.android.systemui.DejankUtils; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; Loading Loading @@ -796,7 +797,10 @@ public abstract class PanelViewController { } mExpandedFraction = Math.min(1f, maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight); mAmbientState.setExpansionFraction(mExpandedFraction); mAmbientState.setExpansionFraction(mKeyguardStateController.isUnlocked() ? mExpandedFraction : BouncerPanelExpansionCalculator .getBackScrimScaledExpansion(mExpandedFraction)); onHeightUpdated(mExpandedHeight); updatePanelExpansionAndVisibility(); }); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +5 −8 Original line number Diff line number Diff line Loading @@ -875,14 +875,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump private Pair<Integer, Float> calculateBackStateForState(ScrimState state) { // Either darken of make the scrim transparent when you // pull down the shade float interpolatedFract; if (state == ScrimState.KEYGUARD) { interpolatedFract = BouncerPanelExpansionCalculator .getBackScrimScaledExpansion(mPanelExpansionFraction); } else { interpolatedFract = getInterpolatedFraction(); } float interpolatedFract = getInterpolatedFraction(); float stateBehind = mClipsQsScrim ? state.getNotifAlpha() : state.getBehindAlpha(); float behindAlpha; Loading Loading @@ -1064,6 +1057,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump } private float getInterpolatedFraction() { if (mState == ScrimState.KEYGUARD || mState == ScrimState.SHADE_LOCKED) { return BouncerPanelExpansionCalculator .getBackScrimScaledExpansion(mPanelExpansionFraction); } return ShadeInterpolation.getNotificationScrimAlpha(mPanelExpansionFraction); } Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +6 −5 Original line number Diff line number Diff line Loading @@ -1236,8 +1236,8 @@ public class ScrimControllerTest extends SysuiTestCase { public void testNotificationTransparency_followsPanelExpansionInShadeLockedState() { mScrimController.transitionTo(ScrimState.SHADE_LOCKED); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.47f, /* expansion */ 0.2f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.2f); } @Test Loading @@ -1250,15 +1250,16 @@ public class ScrimControllerTest extends SysuiTestCase { // Verify normal behavior after mScrimController.setUnocclusionAnimationRunning(false); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f); } @Test public void testNotificationTransparency_inKeyguardState() { mScrimController.transitionTo(ScrimState.KEYGUARD); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.52f, /* expansion */ 0.2f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.2f); } @Test Loading Loading
packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +4 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.view.ViewTreeObserver; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import com.android.keyguard.BouncerPanelExpansionCalculator; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; import com.android.systemui.animation.ShadeInterpolation; Loading Loading @@ -593,7 +594,9 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca } else if (progress > 0 && view.getVisibility() != View.VISIBLE) { view.setVisibility((View.VISIBLE)); } float alpha = ShadeInterpolation.getContentAlpha(progress); float alpha = (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED) ? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(progress) : ShadeInterpolation.getContentAlpha(progress); view.setAlpha(alpha); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java +5 −1 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import android.view.animation.Interpolator; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.util.LatencyTracker; import com.android.keyguard.BouncerPanelExpansionCalculator; import com.android.systemui.DejankUtils; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; Loading Loading @@ -796,7 +797,10 @@ public abstract class PanelViewController { } mExpandedFraction = Math.min(1f, maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight); mAmbientState.setExpansionFraction(mExpandedFraction); mAmbientState.setExpansionFraction(mKeyguardStateController.isUnlocked() ? mExpandedFraction : BouncerPanelExpansionCalculator .getBackScrimScaledExpansion(mExpandedFraction)); onHeightUpdated(mExpandedHeight); updatePanelExpansionAndVisibility(); }); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +5 −8 Original line number Diff line number Diff line Loading @@ -875,14 +875,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump private Pair<Integer, Float> calculateBackStateForState(ScrimState state) { // Either darken of make the scrim transparent when you // pull down the shade float interpolatedFract; if (state == ScrimState.KEYGUARD) { interpolatedFract = BouncerPanelExpansionCalculator .getBackScrimScaledExpansion(mPanelExpansionFraction); } else { interpolatedFract = getInterpolatedFraction(); } float interpolatedFract = getInterpolatedFraction(); float stateBehind = mClipsQsScrim ? state.getNotifAlpha() : state.getBehindAlpha(); float behindAlpha; Loading Loading @@ -1064,6 +1057,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump } private float getInterpolatedFraction() { if (mState == ScrimState.KEYGUARD || mState == ScrimState.SHADE_LOCKED) { return BouncerPanelExpansionCalculator .getBackScrimScaledExpansion(mPanelExpansionFraction); } return ShadeInterpolation.getNotificationScrimAlpha(mPanelExpansionFraction); } Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +6 −5 Original line number Diff line number Diff line Loading @@ -1236,8 +1236,8 @@ public class ScrimControllerTest extends SysuiTestCase { public void testNotificationTransparency_followsPanelExpansionInShadeLockedState() { mScrimController.transitionTo(ScrimState.SHADE_LOCKED); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.47f, /* expansion */ 0.2f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.2f); } @Test Loading @@ -1250,15 +1250,16 @@ public class ScrimControllerTest extends SysuiTestCase { // Verify normal behavior after mScrimController.setUnocclusionAnimationRunning(false); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f); } @Test public void testNotificationTransparency_inKeyguardState() { mScrimController.transitionTo(ScrimState.KEYGUARD); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.52f, /* expansion */ 0.2f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.2f); } @Test Loading