Merge "Fix keyguard -> shade_locked scrim transition" into tm-qpr-dev am: 7ba6789620
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20584612 Change-Id: Id66984d38a95ddef6d79f492ac38690856707342 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -352,6 +352,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
.getBoolean(R.bool.notification_scrim_transparent);
|
.getBoolean(R.bool.notification_scrim_transparent);
|
||||||
updateScrims();
|
updateScrims();
|
||||||
mKeyguardUpdateMonitor.registerCallback(mKeyguardVisibilityCallback);
|
mKeyguardUpdateMonitor.registerCallback(mKeyguardVisibilityCallback);
|
||||||
|
|
||||||
|
// prepare() sets proper initial values for most states
|
||||||
|
for (ScrimState state : ScrimState.values()) {
|
||||||
|
state.prepare(state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -641,10 +646,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
private void setTransitionToFullShade(boolean transitioning) {
|
private void setTransitionToFullShade(boolean transitioning) {
|
||||||
if (transitioning != mTransitioningToFullShade) {
|
if (transitioning != mTransitioningToFullShade) {
|
||||||
mTransitioningToFullShade = transitioning;
|
mTransitioningToFullShade = transitioning;
|
||||||
if (transitioning) {
|
|
||||||
// Let's make sure the shade locked is ready
|
|
||||||
ScrimState.SHADE_LOCKED.prepare(mState);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -146,18 +146,12 @@ public enum ScrimState {
|
|||||||
mBehindAlpha = mClipQsScrim ? 1 : mDefaultScrimAlpha;
|
mBehindAlpha = mClipQsScrim ? 1 : mDefaultScrimAlpha;
|
||||||
mNotifAlpha = 1f;
|
mNotifAlpha = 1f;
|
||||||
mFrontAlpha = 0f;
|
mFrontAlpha = 0f;
|
||||||
mBehindTint = Color.BLACK;
|
mBehindTint = mClipQsScrim ? Color.TRANSPARENT : Color.BLACK;
|
||||||
|
|
||||||
if (mClipQsScrim) {
|
if (mClipQsScrim) {
|
||||||
updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK);
|
updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// to make sure correct color is returned before "prepare" is called
|
|
||||||
@Override
|
|
||||||
public int getBehindTint() {
|
|
||||||
return Color.BLACK;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1442,16 +1442,30 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNotificationTransparency_followsTransitionToFullShade() {
|
public void testNotificationTransparency_followsTransitionToFullShade() {
|
||||||
|
mScrimController.setClipsQsScrim(true);
|
||||||
|
|
||||||
mScrimController.transitionTo(SHADE_LOCKED);
|
mScrimController.transitionTo(SHADE_LOCKED);
|
||||||
mScrimController.setRawPanelExpansionFraction(1.0f);
|
mScrimController.setRawPanelExpansionFraction(1.0f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
|
|
||||||
|
assertScrimTinted(Map.of(
|
||||||
|
mScrimInFront, false,
|
||||||
|
mScrimBehind, true,
|
||||||
|
mNotificationsScrim, false
|
||||||
|
));
|
||||||
|
|
||||||
float shadeLockedAlpha = mNotificationsScrim.getViewAlpha();
|
float shadeLockedAlpha = mNotificationsScrim.getViewAlpha();
|
||||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||||
mScrimController.setRawPanelExpansionFraction(1.0f);
|
mScrimController.setRawPanelExpansionFraction(1.0f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
float keyguardAlpha = mNotificationsScrim.getViewAlpha();
|
float keyguardAlpha = mNotificationsScrim.getViewAlpha();
|
||||||
|
|
||||||
mScrimController.setClipsQsScrim(true);
|
assertScrimTinted(Map.of(
|
||||||
|
mScrimInFront, true,
|
||||||
|
mScrimBehind, true,
|
||||||
|
mNotificationsScrim, true
|
||||||
|
));
|
||||||
|
|
||||||
float progress = 0.5f;
|
float progress = 0.5f;
|
||||||
float lsNotifProgress = 0.3f;
|
float lsNotifProgress = 0.3f;
|
||||||
mScrimController.setTransitionToFullShadeProgress(progress, lsNotifProgress);
|
mScrimController.setTransitionToFullShadeProgress(progress, lsNotifProgress);
|
||||||
|
|||||||
Reference in New Issue
Block a user