summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Liu <aaronjli@google.com>2022-10-06 13:28:51 -0700
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-10-12 19:47:58 +0000
commit2b99c7ab95bb0e81461e8249f4bd148d20987824 (patch)
treedb2543d98d6fca673951f158d5027278c8237b4a
parent88b9e2b92b5c4d58de97241a2ab6c9c08a129073 (diff)
downloadbase-2b99c7ab95bb0e81461e8249f4bd148d20987824.tar.gz
[Bouncer] Flag off bouncer interactor.
Do not invoke the bouncer interactor if the flag is off. Fixes: 250498666 Test: Manual test. Added a unit test. Change-Id: I44b7be029b1a1cd1dbd356499252fa3aee6edccb (cherry picked from commit 46b09796610fed0ebbc517494c0ad122f934127b) Merged-In: I44b7be029b1a1cd1dbd356499252fa3aee6edccb
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java87
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java9
2 files changed, 63 insertions, 33 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index 9d5392af3127..ec7b8204b864 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -405,8 +405,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
} else if (mNotificationPanelViewController.isUnlockHintRunning()) {
if (mBouncer != null) {
mBouncer.setExpansion(KeyguardBouncer.EXPANSION_HIDDEN);
+ } else {
+ mBouncerInteractor.setExpansion(KeyguardBouncer.EXPANSION_HIDDEN);
}
- mBouncerInteractor.setExpansion(KeyguardBouncer.EXPANSION_HIDDEN);
} else if (mStatusBarStateController.getState() == StatusBarState.SHADE_LOCKED) {
// Don't expand to the bouncer. Instead transition back to the lock screen (see
// CentralSurfaces#showBouncerOrLockScreenIfKeyguard)
@@ -414,8 +415,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
} else if (bouncerNeedsScrimming()) {
if (mBouncer != null) {
mBouncer.setExpansion(KeyguardBouncer.EXPANSION_VISIBLE);
+ } else {
+ mBouncerInteractor.setExpansion(KeyguardBouncer.EXPANSION_VISIBLE);
}
- mBouncerInteractor.setExpansion(KeyguardBouncer.EXPANSION_VISIBLE);
} else if (mShowing && !hideBouncerOverDream) {
if (!isWakeAndUnlocking()
&& !(mBiometricUnlockController.getMode() == MODE_DISMISS_BOUNCER)
@@ -423,8 +425,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
&& !isUnlockCollapsing()) {
if (mBouncer != null) {
mBouncer.setExpansion(fraction);
+ } else {
+ mBouncerInteractor.setExpansion(fraction);
}
- mBouncerInteractor.setExpansion(fraction);
}
if (fraction != KeyguardBouncer.EXPANSION_HIDDEN && tracking
&& !mKeyguardStateController.canDismissLockScreen()
@@ -432,16 +435,18 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
&& !bouncerIsAnimatingAway()) {
if (mBouncer != null) {
mBouncer.show(false /* resetSecuritySelection */, false /* scrimmed */);
+ } else {
+ mBouncerInteractor.show(/* isScrimmed= */false);
}
- mBouncerInteractor.show(/* isScrimmed= */false);
}
} else if (!mShowing && isBouncerInTransit()) {
// Keyguard is not visible anymore, but expansion animation was still running.
// We need to hide the bouncer, otherwise it will be stuck in transit.
if (mBouncer != null) {
mBouncer.setExpansion(KeyguardBouncer.EXPANSION_HIDDEN);
+ } else {
+ mBouncerInteractor.setExpansion(KeyguardBouncer.EXPANSION_HIDDEN);
}
- mBouncerInteractor.setExpansion(KeyguardBouncer.EXPANSION_HIDDEN);
} else if (mPulsing && fraction == KeyguardBouncer.EXPANSION_VISIBLE) {
// Panel expanded while pulsing but didn't translate the bouncer (because we are
// unlocked.) Let's simply wake-up to dismiss the lock screen.
@@ -487,8 +492,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
mCentralSurfaces.hideKeyguard();
if (mBouncer != null) {
mBouncer.show(true /* resetSecuritySelection */);
+ } else {
+ mBouncerInteractor.show(true);
}
- mBouncerInteractor.show(true);
} else {
mCentralSurfaces.showKeyguard();
if (hideBouncerWhenShowing) {
@@ -529,8 +535,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
void hideBouncer(boolean destroyView) {
if (mBouncer != null) {
mBouncer.hide(destroyView);
+ } else {
+ mBouncerInteractor.hide();
}
- mBouncerInteractor.hide();
if (mShowing) {
// If we were showing the bouncer and then aborting, we need to also clear out any
// potential actions unless we actually unlocked.
@@ -551,8 +558,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
if (mShowing && !isBouncerShowing()) {
if (mBouncer != null) {
mBouncer.show(false /* resetSecuritySelection */, scrimmed);
+ } else {
+ mBouncerInteractor.show(scrimmed);
}
- mBouncerInteractor.show(scrimmed);
}
updateStates();
}
@@ -588,9 +596,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
if (mBouncer != null) {
mBouncer.setDismissAction(mAfterKeyguardGoneAction,
mKeyguardGoneCancelAction);
+ } else {
+ mBouncerInteractor.setDismissAction(mAfterKeyguardGoneAction,
+ mKeyguardGoneCancelAction);
}
- mBouncerInteractor.setDismissAction(mAfterKeyguardGoneAction,
- mKeyguardGoneCancelAction);
mAfterKeyguardGoneAction = null;
mKeyguardGoneCancelAction = null;
}
@@ -603,17 +612,21 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
if (afterKeyguardGone) {
// we'll handle the dismiss action after keyguard is gone, so just show the
// bouncer
- mBouncerInteractor.show(/* isScrimmed= */true);
- if (mBouncer != null) mBouncer.show(false /* resetSecuritySelection */);
+ if (mBouncer != null) {
+ mBouncer.show(false /* resetSecuritySelection */);
+ } else {
+ mBouncerInteractor.show(/* isScrimmed= */true);
+ }
} else {
// after authentication success, run dismiss action with the option to defer
// hiding the keyguard based on the return value of the OnDismissAction
- mBouncerInteractor.setDismissAction(
- mAfterKeyguardGoneAction, mKeyguardGoneCancelAction);
- mBouncerInteractor.show(/* isScrimmed= */true);
if (mBouncer != null) {
mBouncer.showWithDismissAction(mAfterKeyguardGoneAction,
mKeyguardGoneCancelAction);
+ } else {
+ mBouncerInteractor.setDismissAction(
+ mAfterKeyguardGoneAction, mKeyguardGoneCancelAction);
+ mBouncerInteractor.show(/* isScrimmed= */true);
}
// bouncer will handle the dismiss action, so we no longer need to track it here
mAfterKeyguardGoneAction = null;
@@ -717,8 +730,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public void onFinishedGoingToSleep() {
if (mBouncer != null) {
mBouncer.onScreenTurnedOff();
+ } else {
+ mBouncerInteractor.onScreenTurnedOff();
}
- mBouncerInteractor.onScreenTurnedOff();
}
@Override
@@ -830,8 +844,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
if (bouncerIsShowing()) {
if (mBouncer != null) {
mBouncer.startPreHideAnimation(finishRunnable);
+ } else {
+ mBouncerInteractor.startDisappearAnimation(finishRunnable);
}
- mBouncerInteractor.startDisappearAnimation(finishRunnable);
mCentralSurfaces.onBouncerPreHideAnimation();
// We update the state (which will show the keyguard) only if an animation will run on
@@ -1102,13 +1117,15 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
if (bouncerDismissible || !showing || remoteInputActive) {
if (mBouncer != null) {
mBouncer.setBackButtonEnabled(true);
+ } else {
+ mBouncerInteractor.setBackButtonEnabled(true);
}
- mBouncerInteractor.setBackButtonEnabled(true);
} else {
if (mBouncer != null) {
mBouncer.setBackButtonEnabled(false);
+ } else {
+ mBouncerInteractor.setBackButtonEnabled(false);
}
- mBouncerInteractor.setBackButtonEnabled(false);
}
}
@@ -1274,8 +1291,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public void notifyKeyguardAuthenticated(boolean strongAuth) {
if (mBouncer != null) {
mBouncer.notifyKeyguardAuthenticated(strongAuth);
+ } else {
+ mBouncerInteractor.notifyKeyguardAuthenticated(strongAuth);
}
- mBouncerInteractor.notifyKeyguardAuthenticated(strongAuth);
if (mAlternateAuthInterceptor != null && isShowingAlternateAuthOrAnimating()) {
resetAlternateAuth(false);
@@ -1292,8 +1310,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
} else {
if (mBouncer != null) {
mBouncer.showMessage(message, colorState);
+ } else {
+ mBouncerInteractor.showMessage(message, colorState);
}
- mBouncerInteractor.showMessage(message, colorState);
}
}
@@ -1340,8 +1359,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public void updateResources() {
if (mBouncer != null) {
mBouncer.updateResources();
+ } else {
+ mBouncerInteractor.updateResources();
}
- mBouncerInteractor.updateResources();
}
public void dump(PrintWriter pw) {
@@ -1426,9 +1446,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public void updateKeyguardPosition(float x) {
if (mBouncer != null) {
mBouncer.updateKeyguardPosition(x);
+ } else {
+ mBouncerInteractor.setKeyguardPosition(x);
}
-
- mBouncerInteractor.setKeyguardPosition(x);
}
private static class DismissWithActionRequest {
@@ -1470,9 +1490,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public boolean isBouncerInTransit() {
if (mBouncer != null) {
return mBouncer.inTransit();
+ } else {
+ return mBouncerInteractor.isInTransit();
}
-
- return mBouncerInteractor.isInTransit();
}
/**
@@ -1481,9 +1501,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public boolean bouncerIsShowing() {
if (mBouncer != null) {
return mBouncer.isShowing();
+ } else {
+ return mBouncerInteractor.isFullyShowing();
}
-
- return mBouncerInteractor.isFullyShowing();
}
/**
@@ -1492,9 +1512,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public boolean bouncerIsScrimmed() {
if (mBouncer != null) {
return mBouncer.isScrimmed();
+ } else {
+ return mBouncerInteractor.isScrimmed();
}
-
- return mBouncerInteractor.isScrimmed();
}
/**
@@ -1503,9 +1523,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public boolean bouncerIsAnimatingAway() {
if (mBouncer != null) {
return mBouncer.isAnimatingAway();
+ } else {
+ return mBouncerInteractor.isAnimatingAway();
}
- return mBouncerInteractor.isAnimatingAway();
}
/**
@@ -1514,9 +1535,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
public boolean bouncerWillDismissWithAction() {
if (mBouncer != null) {
return mBouncer.willDismissWithAction();
+ } else {
+ return mBouncerInteractor.willDismissWithAction();
}
-
- return mBouncerInteractor.willDismissWithAction();
}
/**
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
index dcce61b86ced..5a12fcb1b4d8 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
@@ -16,6 +16,8 @@
package com.android.systemui.statusbar.phone;
+import static com.android.systemui.flags.Flags.MODERN_BOUNCER;
+
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -525,4 +527,11 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
mBouncerExpansionCallback.onVisibilityChanged(false);
verify(mCentralSurfaces).setBouncerShowingOverDream(false);
}
+
+ @Test
+ public void flag_off_DoesNotCallBouncerInteractor() {
+ when(mFeatureFlags.isEnabled(MODERN_BOUNCER)).thenReturn(false);
+ mStatusBarKeyguardViewManager.hideBouncer(false);
+ verify(mBouncerInteractor, never()).hide();
+ }
}