Loading packages/SystemUI/animation/src/com/android/systemui/animation/Interpolators.java +7 −2 Original line number Diff line number Diff line Loading @@ -96,13 +96,18 @@ public class Interpolators { /** * Interpolate alpha for notifications background scrim during shade expansion. * @param fraction Shade expansion fraction * @param forNotification If we want the alpha of the notification shade or the scrim. */ public static float getNotificationScrimAlpha(float fraction) { public static float getNotificationScrimAlpha(float fraction, boolean forNotification) { if (!forNotification) { fraction = MathUtils.saturate(1.7f * fraction); } fraction = fraction * 1.2f - 0.2f; if (fraction <= 0) { return 0; } else { return (float) (1f - 0.5f * (1f - Math.cos(3.14159f * Math.pow(1f - fraction, 2f)))); final float oneMinusFrac = 1f - fraction; return (float) (1f - 0.5f * (1f - Math.cos(3.14159f * oneMinusFrac * oneMinusFrac))); } } } packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java +2 −2 Original line number Diff line number Diff line Loading @@ -31,8 +31,8 @@ import android.view.WindowInsets; import android.view.accessibility.AccessibilityNodeInfo; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.animation.Interpolators; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.statusbar.notification.NotificationUtils; import com.android.systemui.statusbar.notification.row.ActivatableNotificationView; Loading Loading @@ -180,7 +180,7 @@ public class NotificationShelf extends ActivatableNotificationView implements if (ambientState.isExpansionChanging() && !ambientState.isOnKeyguard()) { viewState.alpha = Interpolators.getNotificationScrimAlpha( ambientState.getExpansionFraction()); ambientState.getExpansionFraction(), true /* notification */); } else { viewState.alpha = 1f - ambientState.getHideAmount(); } Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java +2 −2 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ import android.util.MathUtils; import android.view.View; import android.view.ViewGroup; import com.android.systemui.animation.Interpolators; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; import com.android.systemui.statusbar.NotificationShelf; import com.android.systemui.statusbar.notification.dagger.SilentHeader; import com.android.systemui.statusbar.notification.row.ActivatableNotificationView; Loading Loading @@ -382,7 +382,7 @@ public class StackScrollAlgorithm { if (ambientState.isExpansionChanging() && !ambientState.isOnKeyguard()) { viewState.alpha = Interpolators.getNotificationScrimAlpha( ambientState.getExpansionFraction()); ambientState.getExpansionFraction(), true /* notification */); } else { viewState.alpha = 1f - ambientState.getHideAmount(); } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +1 −1 Original line number Diff line number Diff line Loading @@ -883,7 +883,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump } private float getInterpolatedFraction() { return Interpolators.getNotificationScrimAlpha(mPanelExpansion); return Interpolators.getNotificationScrimAlpha(mPanelExpansion, false /* notification */); } private void setScrimAlpha(ScrimView scrim, float alpha) { Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -1118,7 +1118,7 @@ public class ScrimControllerTest extends SysuiTestCase { public void testNotificationTransparency_inKeyguardState() { mScrimController.transitionTo(ScrimState.KEYGUARD); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.2f); } Loading Loading
packages/SystemUI/animation/src/com/android/systemui/animation/Interpolators.java +7 −2 Original line number Diff line number Diff line Loading @@ -96,13 +96,18 @@ public class Interpolators { /** * Interpolate alpha for notifications background scrim during shade expansion. * @param fraction Shade expansion fraction * @param forNotification If we want the alpha of the notification shade or the scrim. */ public static float getNotificationScrimAlpha(float fraction) { public static float getNotificationScrimAlpha(float fraction, boolean forNotification) { if (!forNotification) { fraction = MathUtils.saturate(1.7f * fraction); } fraction = fraction * 1.2f - 0.2f; if (fraction <= 0) { return 0; } else { return (float) (1f - 0.5f * (1f - Math.cos(3.14159f * Math.pow(1f - fraction, 2f)))); final float oneMinusFrac = 1f - fraction; return (float) (1f - 0.5f * (1f - Math.cos(3.14159f * oneMinusFrac * oneMinusFrac))); } } }
packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java +2 −2 Original line number Diff line number Diff line Loading @@ -31,8 +31,8 @@ import android.view.WindowInsets; import android.view.accessibility.AccessibilityNodeInfo; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.animation.Interpolators; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.statusbar.notification.NotificationUtils; import com.android.systemui.statusbar.notification.row.ActivatableNotificationView; Loading Loading @@ -180,7 +180,7 @@ public class NotificationShelf extends ActivatableNotificationView implements if (ambientState.isExpansionChanging() && !ambientState.isOnKeyguard()) { viewState.alpha = Interpolators.getNotificationScrimAlpha( ambientState.getExpansionFraction()); ambientState.getExpansionFraction(), true /* notification */); } else { viewState.alpha = 1f - ambientState.getHideAmount(); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java +2 −2 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ import android.util.MathUtils; import android.view.View; import android.view.ViewGroup; import com.android.systemui.animation.Interpolators; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; import com.android.systemui.statusbar.NotificationShelf; import com.android.systemui.statusbar.notification.dagger.SilentHeader; import com.android.systemui.statusbar.notification.row.ActivatableNotificationView; Loading Loading @@ -382,7 +382,7 @@ public class StackScrollAlgorithm { if (ambientState.isExpansionChanging() && !ambientState.isOnKeyguard()) { viewState.alpha = Interpolators.getNotificationScrimAlpha( ambientState.getExpansionFraction()); ambientState.getExpansionFraction(), true /* notification */); } else { viewState.alpha = 1f - ambientState.getHideAmount(); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +1 −1 Original line number Diff line number Diff line Loading @@ -883,7 +883,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump } private float getInterpolatedFraction() { return Interpolators.getNotificationScrimAlpha(mPanelExpansion); return Interpolators.getNotificationScrimAlpha(mPanelExpansion, false /* notification */); } private void setScrimAlpha(ScrimView scrim, float alpha) { Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -1118,7 +1118,7 @@ public class ScrimControllerTest extends SysuiTestCase { public void testNotificationTransparency_inKeyguardState() { mScrimController.transitionTo(ScrimState.KEYGUARD); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.2f); } Loading