Merge "Avoid overlap when fading notifications in" into sc-dev

This commit is contained in:
Lucas Dupin
2021-06-03 00:37:02 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 7 deletions

View File

@@ -99,8 +99,10 @@ public class Interpolators {
* @param forNotification If we want the alpha of the notification shade or the scrim. * @param forNotification If we want the alpha of the notification shade or the scrim.
*/ */
public static float getNotificationScrimAlpha(float fraction, boolean forNotification) { public static float getNotificationScrimAlpha(float fraction, boolean forNotification) {
if (!forNotification) { if (forNotification) {
fraction = MathUtils.saturate(1.7f * fraction); fraction = MathUtils.constrainedMap(0f, 1f, 0.3f, 1f, fraction);
} else {
fraction = MathUtils.constrainedMap(0f, 1f, 0f, 0.5f, fraction);
} }
fraction = fraction * 1.2f - 0.2f; fraction = fraction * 1.2f - 0.2f;
if (fraction <= 0) { if (fraction <= 0) {

View File

@@ -587,7 +587,7 @@ public class ScrimControllerTest extends SysuiTestCase {
)); ));
// Back scrim should be visible after start dragging // Back scrim should be visible after start dragging
mScrimController.setPanelExpansion(0.5f); mScrimController.setPanelExpansion(0.3f);
assertScrimAlpha(Map.of( assertScrimAlpha(Map.of(
mScrimInFront, TRANSPARENT, mScrimInFront, TRANSPARENT,
mNotificationsScrim, SEMI_TRANSPARENT, mNotificationsScrim, SEMI_TRANSPARENT,
@@ -1049,7 +1049,7 @@ public class ScrimControllerTest extends SysuiTestCase {
@Test @Test
public void testScrimsVisible_whenShadeVisible() { public void testScrimsVisible_whenShadeVisible() {
mScrimController.transitionTo(ScrimState.UNLOCKED); mScrimController.transitionTo(ScrimState.UNLOCKED);
mScrimController.setPanelExpansion(0.5f); mScrimController.setPanelExpansion(0.3f);
// notifications scrim alpha change require calling setQsPosition // notifications scrim alpha change require calling setQsPosition
mScrimController.setQsPosition(0, 300); mScrimController.setQsPosition(0, 300);
finishAnimationsImmediately(); finishAnimationsImmediately();
@@ -1064,7 +1064,7 @@ public class ScrimControllerTest extends SysuiTestCase {
public void testScrimsVisible_whenShadeVisible_clippingQs() { public void testScrimsVisible_whenShadeVisible_clippingQs() {
mScrimController.setClipsQsScrim(true); mScrimController.setClipsQsScrim(true);
mScrimController.transitionTo(ScrimState.UNLOCKED); mScrimController.transitionTo(ScrimState.UNLOCKED);
mScrimController.setPanelExpansion(0.5f); mScrimController.setPanelExpansion(0.3f);
// notifications scrim alpha change require calling setQsPosition // notifications scrim alpha change require calling setQsPosition
mScrimController.setQsPosition(0.5f, 300); mScrimController.setQsPosition(0.5f, 300);
finishAnimationsImmediately(); finishAnimationsImmediately();
@@ -1114,7 +1114,7 @@ public class ScrimControllerTest extends SysuiTestCase {
mScrimController.transitionTo(ScrimState.SHADE_LOCKED); mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.8f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.8f);
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.2f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.47f, /* expansion */ 0.2f);
} }
@Test @Test
@@ -1122,7 +1122,7 @@ public class ScrimControllerTest extends SysuiTestCase {
mScrimController.transitionTo(ScrimState.KEYGUARD); mScrimController.transitionTo(ScrimState.KEYGUARD);
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f);
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.2f); assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.52f, /* expansion */ 0.2f);
} }
@Test @Test