Update unpaused udfps alpha when showing udfps bouncer

This will make sure the alpha is updated correctly before
showing the udfps affordance.

This CL also updates the dumpsys to be more accurate of the
actual alpha value being used.

Test: manual, atest UdfpsKeyguardViewControllerTest
Fixes: 197160246
Merged-In: I86a73dacfd2fc4f5b910e1e1e4f6535e91d00da3
Change-Id: I86a73dacfd2fc4f5b910e1e1e4f6535e91d00da3
This commit is contained in:
Beverly
2021-08-27 09:19:11 -04:00
committed by Beverly Tai
parent 0a819742a3
commit a73d30e297
3 changed files with 32 additions and 3 deletions

View File

@@ -155,6 +155,13 @@ public class UdfpsKeyguardView extends UdfpsAnimationView {
updateAlpha();
}
/**
* @return alpha between 0 and 255
*/
int getUnpausedAlpha() {
return mAlpha;
}
@Override
protected int updateAlpha() {
int alpha = super.updateAlpha();

View File

@@ -153,7 +153,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
pw.println("mIsBouncerVisible=" + mIsBouncerVisible);
pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount);
pw.println("mStatusBarExpansion=" + mStatusBarExpansion);
pw.println("mAlpha=" + mView.getAlpha());
pw.println("unpausedAlpha=" + mView.getUnpausedAlpha());
pw.println("mUdfpsRequested=" + mUdfpsRequested);
pw.println("mView.mUdfpsRequested=" + mView.mUdfpsRequested);
pw.println("mLaunchTransitionFadingAway=" + mLaunchTransitionFadingAway);
@@ -168,10 +168,10 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
return false;
}
boolean udfpsAffordanceWasNotShowing = shouldPauseAuth();
mShowingUdfpsBouncer = show;
updatePauseAuth();
if (mShowingUdfpsBouncer) {
if (mStatusBarState == StatusBarState.SHADE_LOCKED) {
if (udfpsAffordanceWasNotShowing) {
mView.animateInUdfpsBouncer(null);
}
@@ -184,6 +184,8 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
} else {
mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false);
}
updateAlpha();
updatePauseAuth();
return true;
}
@@ -308,6 +310,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
public void requestUdfps(boolean request, int color) {
mUdfpsRequested = request;
mView.requestUdfps(request, color);
updateAlpha();
updatePauseAuth();
}

View File

@@ -313,6 +313,25 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
verify(mView).setUnpausedAlpha(0);
}
@Test
public void testShowUdfpsBouncer() {
// GIVEN view is attached and status bar expansion is 0
mController.onViewAttached();
captureExpansionListeners();
captureKeyguardStateControllerCallback();
captureAltAuthInterceptor();
updateStatusBarExpansion(0, true);
reset(mView);
when(mView.getContext()).thenReturn(mResourceContext);
when(mResourceContext.getString(anyInt())).thenReturn("test string");
// WHEN status bar expansion is 0 but udfps bouncer is requested
mAltAuthInterceptor.showAlternateAuthBouncer();
// THEN alpha is 0
verify(mView).setUnpausedAlpha(255);
}
private void sendStatusBarStateChanged(int statusBarState) {
mStatusBarStateListener.onStateChanged(statusBarState);
}