Merge "Update bouncer visibility on altAuthBouncer changes" into tm-dev am: 5778a88d45

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17776443

Change-Id: Iebb3c566976eb4375930ab01d63ea0c27de9b826
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Beverly Tai
2022-04-18 15:22:38 +00:00
committed by Automerger Merge Worker
3 changed files with 31 additions and 19 deletions

View File

@@ -21,7 +21,6 @@ import static com.android.systemui.statusbar.StatusBarState.KEYGUARD;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.util.Log;
import android.util.MathUtils; import android.util.MathUtils;
import android.view.MotionEvent; import android.view.MotionEvent;
@@ -83,7 +82,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
* {@link KeyguardBouncer#EXPANSION_HIDDEN} (1f) * {@link KeyguardBouncer#EXPANSION_HIDDEN} (1f)
*/ */
private float mInputBouncerHiddenAmount; private float mInputBouncerHiddenAmount;
private boolean mIsBouncerVisible; private boolean mIsGenericBouncerShowing; // whether UDFPS bouncer or input bouncer is visible
protected UdfpsKeyguardViewController( protected UdfpsKeyguardViewController(
@NonNull UdfpsKeyguardView view, @NonNull UdfpsKeyguardView view,
@@ -151,8 +150,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
mKeyguardStateController.addCallback(mKeyguardStateControllerCallback); mKeyguardStateController.addCallback(mKeyguardStateControllerCallback);
mStatusBarState = getStatusBarStateController().getState(); mStatusBarState = getStatusBarStateController().getState();
mQsExpanded = mKeyguardViewManager.isQsExpanded(); mQsExpanded = mKeyguardViewManager.isQsExpanded();
mInputBouncerHiddenAmount = KeyguardBouncer.EXPANSION_HIDDEN; updateGenericBouncerVisibility();
mIsBouncerVisible = mKeyguardViewManager.bouncerIsOrWillBeShowing();
mConfigurationController.addCallback(mConfigurationListener); mConfigurationController.addCallback(mConfigurationListener);
getPanelExpansionStateManager().addExpansionListener(mPanelExpansionListener); getPanelExpansionStateManager().addExpansionListener(mPanelExpansionListener);
updateAlpha(); updateAlpha();
@@ -187,7 +185,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
pw.println("mFaceDetectRunning=" + mFaceDetectRunning); pw.println("mFaceDetectRunning=" + mFaceDetectRunning);
pw.println("mStatusBarState=" + StatusBarState.toString(mStatusBarState)); pw.println("mStatusBarState=" + StatusBarState.toString(mStatusBarState));
pw.println("mQsExpanded=" + mQsExpanded); pw.println("mQsExpanded=" + mQsExpanded);
pw.println("mIsBouncerVisible=" + mIsBouncerVisible); pw.println("mIsGenericBouncerShowing=" + mIsGenericBouncerShowing);
pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount); pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount);
pw.println("mPanelExpansionFraction=" + mPanelExpansionFraction); pw.println("mPanelExpansionFraction=" + mPanelExpansionFraction);
pw.println("unpausedAlpha=" + mView.getUnpausedAlpha()); pw.println("unpausedAlpha=" + mView.getUnpausedAlpha());
@@ -225,6 +223,8 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
} else { } else {
mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false); mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false);
} }
updateGenericBouncerVisibility();
updateAlpha(); updateAlpha();
updatePauseAuth(); updatePauseAuth();
return true; return true;
@@ -241,7 +241,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
} }
if (mUdfpsRequested && !getNotificationShadeVisible() if (mUdfpsRequested && !getNotificationShadeVisible()
&& (!mIsBouncerVisible && (!mIsGenericBouncerShowing
|| mInputBouncerHiddenAmount != KeyguardBouncer.EXPANSION_VISIBLE) || mInputBouncerHiddenAmount != KeyguardBouncer.EXPANSION_VISIBLE)
&& mKeyguardStateController.isShowing()) { && mKeyguardStateController.isShowing()) {
return false; return false;
@@ -267,13 +267,8 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
return true; return true;
} }
if (mInputBouncerHiddenAmount < .5f || mIsBouncerVisible) { if (mInputBouncerHiddenAmount < .5f) {
if (!getStatusBarStateController().isDozing()) { return true;
return true;
} else {
Log.e(TAG, "Bouncer state claims visible on doze hiddenAmount="
+ mInputBouncerHiddenAmount + " bouncerVisible=" + mIsBouncerVisible);
}
} }
return false; return false;
@@ -351,6 +346,21 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
mView.setUnpausedAlpha(alpha); mView.setUnpausedAlpha(alpha);
} }
/**
* Updates mIsGenericBouncerShowing (whether any bouncer is showing) and updates the
* mInputBouncerHiddenAmount to reflect whether the input bouncer is fully showing or not.
*/
private void updateGenericBouncerVisibility() {
mIsGenericBouncerShowing = mKeyguardViewManager.isBouncerShowing(); // includes altBouncer
final boolean altBouncerShowing = mKeyguardViewManager.isShowingAlternateAuth();
if (altBouncerShowing || !mKeyguardViewManager.bouncerIsOrWillBeShowing()) {
mInputBouncerHiddenAmount = 1f;
} else if (mIsGenericBouncerShowing) {
// input bouncer is fully showing
mInputBouncerHiddenAmount = 0f;
}
}
private final StatusBarStateController.StateListener mStateListener = private final StatusBarStateController.StateListener mStateListener =
new StatusBarStateController.StateListener() { new StatusBarStateController.StateListener() {
@Override @Override
@@ -434,14 +444,13 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
updatePauseAuth(); updatePauseAuth();
} }
/**
* Only called on primary auth bouncer changes, not on whether the UDFPS bouncer
* visibility changes.
*/
@Override @Override
public void onBouncerVisibilityChanged() { public void onBouncerVisibilityChanged() {
mIsBouncerVisible = mKeyguardViewManager.isBouncerShowing(); updateGenericBouncerVisibility();
if (!mIsBouncerVisible) {
mInputBouncerHiddenAmount = 1f;
} else if (mKeyguardViewManager.isBouncerShowing()) {
mInputBouncerHiddenAmount = 0f;
}
updateAlpha(); updateAlpha();
updatePauseAuth(); updatePauseAuth();
} }

View File

@@ -1270,6 +1270,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
pw.println(" mAfterKeyguardGoneAction: " + mAfterKeyguardGoneAction); pw.println(" mAfterKeyguardGoneAction: " + mAfterKeyguardGoneAction);
pw.println(" mAfterKeyguardGoneRunnables: " + mAfterKeyguardGoneRunnables); pw.println(" mAfterKeyguardGoneRunnables: " + mAfterKeyguardGoneRunnables);
pw.println(" mPendingWakeupAction: " + mPendingWakeupAction); pw.println(" mPendingWakeupAction: " + mPendingWakeupAction);
pw.println(" isBouncerShowing(): " + isBouncerShowing());
pw.println(" bouncerIsOrWillBeShowing(): " + bouncerIsOrWillBeShowing());
if (mBouncer != null) { if (mBouncer != null) {
mBouncer.dump(pw); mBouncer.dump(pw);

View File

@@ -205,6 +205,7 @@ public class UdfpsKeyguardViewControllerTest extends SysuiTestCase {
captureAltAuthInterceptor(); captureAltAuthInterceptor();
when(mStatusBarKeyguardViewManager.isBouncerShowing()).thenReturn(true); when(mStatusBarKeyguardViewManager.isBouncerShowing()).thenReturn(true);
when(mStatusBarKeyguardViewManager.bouncerIsOrWillBeShowing()).thenReturn(true);
mAltAuthInterceptor.onBouncerVisibilityChanged(); mAltAuthInterceptor.onBouncerVisibilityChanged();
assertTrue(mController.shouldPauseAuth()); assertTrue(mController.shouldPauseAuth());