Merge "Fix scrim animation when unlocking with fp" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
4f4d78b877
@@ -399,4 +399,11 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
|
||||
pw.print(" mMode="); pw.println(mMode);
|
||||
pw.print(" mWakeLock="); pw.println(mWakeLock);
|
||||
}
|
||||
|
||||
public boolean isWakeAndUnlock() {
|
||||
return mMode == MODE_UNLOCK
|
||||
|| mMode == MODE_WAKE_AND_UNLOCK
|
||||
|| mMode == MODE_WAKE_AND_UNLOCK_PULSING
|
||||
|| mMode == MODE_WAKE_AND_UNLOCK_FROM_DREAM;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,7 +347,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
if (mExpansionFraction != fraction) {
|
||||
mExpansionFraction = fraction;
|
||||
|
||||
if (!(mState == ScrimState.UNLOCKED || mState == ScrimState.KEYGUARD)) {
|
||||
final boolean keyguardOrUnlocked = mState == ScrimState.UNLOCKED
|
||||
|| mState == ScrimState.KEYGUARD;
|
||||
if (!keyguardOrUnlocked || !mExpansionAffectsAlpha) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -156,7 +156,6 @@ public enum ScrimState {
|
||||
mCurrentBehindTint = Color.BLACK;
|
||||
mBlankScreen = true;
|
||||
} else {
|
||||
// Scrims should still be black at the end of the transition.
|
||||
mCurrentInFrontTint = Color.TRANSPARENT;
|
||||
mCurrentBehindTint = Color.TRANSPARENT;
|
||||
mBlankScreen = false;
|
||||
|
||||
@@ -4659,9 +4659,8 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
final boolean wakeAndUnlocking = mFingerprintUnlockController.getMode()
|
||||
== FingerprintUnlockController.MODE_WAKE_AND_UNLOCK;
|
||||
|
||||
// Do not animate the scrim expansion when it's triggered by the fingerprint sensor.
|
||||
mScrimController.setExpansionAffectsAlpha(mFingerprintUnlockController.getMode()
|
||||
!= FingerprintUnlockController.MODE_UNLOCK);
|
||||
// Do not animate the scrim expansion when triggered by the fingerprint sensor.
|
||||
mScrimController.setExpansionAffectsAlpha(!mFingerprintUnlockController.isWakeAndUnlock());
|
||||
|
||||
if (mBouncerShowing) {
|
||||
// Bouncer needs the front scrim when it's on top of an activity,
|
||||
|
||||
@@ -26,6 +26,7 @@ import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.reset;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -73,7 +74,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
||||
@Before
|
||||
public void setup() {
|
||||
mLightBarController = mock(LightBarController.class);
|
||||
mScrimBehind = new ScrimView(getContext());
|
||||
mScrimBehind = spy(new ScrimView(getContext()));
|
||||
mScrimInFront = new ScrimView(getContext());
|
||||
mWakeLock = mock(WakeLock.class);
|
||||
mAlarmManager = mock(AlarmManager.class);
|
||||
@@ -210,8 +211,10 @@ public class ScrimControllerTest extends SysuiTestCase {
|
||||
mScrimController.finishAnimationsImmediately();
|
||||
|
||||
final float scrimAlpha = mScrimBehind.getViewAlpha();
|
||||
reset(mScrimBehind);
|
||||
mScrimController.setExpansionAffectsAlpha(false);
|
||||
mScrimController.setPanelExpansion(0.8f);
|
||||
verifyZeroInteractions(mScrimBehind);
|
||||
Assert.assertEquals("Scrim opacity shouldn't change when setExpansionAffectsAlpha "
|
||||
+ "is false", scrimAlpha, mScrimBehind.getViewAlpha(), 0.01f);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user