Merge "ScrimControllerTest: add more test cases for the alpha interpolation of the scrims" into tm-dev
This commit is contained in:
commit
a210d6f876
@ -49,9 +49,11 @@ import android.view.View;
|
||||
import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.internal.colorextraction.ColorExtractor.GradientColors;
|
||||
import com.android.keyguard.BouncerPanelExpansionCalculator;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.systemui.DejankUtils;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.animation.ShadeInterpolation;
|
||||
import com.android.systemui.dock.DockManager;
|
||||
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
|
||||
import com.android.systemui.scrim.ScrimView;
|
||||
@ -1235,39 +1237,114 @@ public class ScrimControllerTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotificationTransparency_followsPanelExpansionInShadeLockedState() {
|
||||
public void expansionNotificationAlpha_shadeLocked_bouncerActive_usesBouncerInterpolator() {
|
||||
when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true);
|
||||
|
||||
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
|
||||
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.8f);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.2f);
|
||||
float expansion = 0.8f;
|
||||
float expectedAlpha =
|
||||
BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, expectedAlpha, expansion);
|
||||
|
||||
expansion = 0.2f;
|
||||
expectedAlpha = BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, expectedAlpha, expansion);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotificationTransparency_unnocclusion() {
|
||||
public void expansionNotificationAlpha_shadeLocked_bouncerNotActive_usesShadeInterpolator() {
|
||||
when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false);
|
||||
|
||||
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
|
||||
|
||||
float expansion = 0.8f;
|
||||
float expectedAlpha = ShadeInterpolation.getNotificationScrimAlpha(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, expectedAlpha, expansion);
|
||||
|
||||
expansion = 0.2f;
|
||||
expectedAlpha = ShadeInterpolation.getNotificationScrimAlpha(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, expectedAlpha, expansion);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void notificationAlpha_unnocclusionAnimating_bouncerActive_usesKeyguardNotifAlpha() {
|
||||
when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true);
|
||||
|
||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||
mScrimController.setUnocclusionAnimationRunning(true);
|
||||
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0f);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 1.0f);
|
||||
assertAlphaAfterExpansion(
|
||||
mNotificationsScrim, ScrimState.KEYGUARD.getNotifAlpha(), /* expansion */ 0f);
|
||||
assertAlphaAfterExpansion(
|
||||
mNotificationsScrim, ScrimState.KEYGUARD.getNotifAlpha(), /* expansion */ 0.4f);
|
||||
assertAlphaAfterExpansion(
|
||||
mNotificationsScrim, ScrimState.KEYGUARD.getNotifAlpha(), /* expansion */ 1.0f);
|
||||
|
||||
// Verify normal behavior after
|
||||
mScrimController.setUnocclusionAnimationRunning(false);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f);
|
||||
float expansion = 0.4f;
|
||||
float alpha = 1 - BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotificationTransparency_inKeyguardState() {
|
||||
public void notificationAlpha_unnocclusionAnimating_bouncerNotActive_usesKeyguardNotifAlpha() {
|
||||
when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false);
|
||||
|
||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||
mScrimController.setUnocclusionAnimationRunning(true);
|
||||
|
||||
assertAlphaAfterExpansion(
|
||||
mNotificationsScrim, ScrimState.KEYGUARD.getNotifAlpha(), /* expansion */ 0f);
|
||||
assertAlphaAfterExpansion(
|
||||
mNotificationsScrim, ScrimState.KEYGUARD.getNotifAlpha(), /* expansion */ 0.4f);
|
||||
assertAlphaAfterExpansion(
|
||||
mNotificationsScrim, ScrimState.KEYGUARD.getNotifAlpha(), /* expansion */ 1.0f);
|
||||
|
||||
// Verify normal behavior after
|
||||
mScrimController.setUnocclusionAnimationRunning(false);
|
||||
float expansion = 0.4f;
|
||||
float alpha = 1 - ShadeInterpolation.getNotificationScrimAlpha(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void notificationAlpha_inKeyguardState_bouncerActive_usesInvertedBouncerInterpolator() {
|
||||
when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(true);
|
||||
|
||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.8f);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.2f);
|
||||
float expansion = 0.8f;
|
||||
float alpha = 1 - BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
|
||||
|
||||
expansion = 0.4f;
|
||||
alpha = 1 - BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
|
||||
|
||||
expansion = 0.2f;
|
||||
alpha = 1 - BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void notificationAlpha_inKeyguardState_bouncerNotActive_usesInvertedShadeInterpolator() {
|
||||
when(mStatusBarKeyguardViewManager.bouncerIsInTransit()).thenReturn(false);
|
||||
|
||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||
|
||||
float expansion = 0.8f;
|
||||
float alpha = 1 - ShadeInterpolation.getNotificationScrimAlpha(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
|
||||
|
||||
expansion = 0.4f;
|
||||
alpha = 1 - ShadeInterpolation.getNotificationScrimAlpha(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
|
||||
|
||||
expansion = 0.2f;
|
||||
alpha = 1 - ShadeInterpolation.getNotificationScrimAlpha(expansion);
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -1387,7 +1464,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
||||
mScrimController.setRawPanelExpansionFraction(expansion);
|
||||
finishAnimationsImmediately();
|
||||
// alpha is not changing linearly thus 0.2 of leeway when asserting
|
||||
assertEquals(expectedAlpha, mNotificationsScrim.getViewAlpha(), 0.2);
|
||||
assertEquals(expectedAlpha, scrim.getViewAlpha(), 0.2);
|
||||
}
|
||||
|
||||
private void assertScrimTinted(Map<ScrimView, Boolean> scrimToTint) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user