Merge "Update swipe up from the locked shade behavior" into sc-v2-dev

This commit is contained in:
TreeHugger Robot
2021-12-01 18:52:09 +00:00
committed by Android (Google) Code Review
3 changed files with 21 additions and 6 deletions

View File

@@ -320,6 +320,10 @@ public class KeyguardHostViewController extends ViewController<KeyguardHostView>
mKeyguardSecurityContainerController.showPrimarySecurityScreen(false);
}
/**
* Fades and translates in/out the security screen.
* @param fraction amount of the screen that should show.
*/
public void setExpansion(float fraction) {
float alpha = MathUtils.map(KeyguardBouncer.ALPHA_EXPANSION_THRESHOLD, 1, 1, 0, fraction);
mView.setAlpha(MathUtils.constrain(alpha, 0f, 1f));

View File

@@ -2082,7 +2082,7 @@ public class StatusBar extends SystemUI implements
mShadeController.runPostCollapseRunnables();
setInteracting(StatusBarManager.WINDOW_STATUS_BAR, false);
if (!mNotificationActivityStarter.isCollapsingToShowActivityOverLockscreen()) {
showBouncerIfKeyguard();
showBouncerOrLockScreenIfKeyguard();
} else if (DEBUG) {
Log.d(TAG, "Not showing bouncer due to activity showing over lockscreen");
}
@@ -3288,13 +3288,17 @@ public class StatusBar extends SystemUI implements
return false;
}
private void showBouncerIfKeyguard() {
private void showBouncerOrLockScreenIfKeyguard() {
if (!mKeyguardViewMediator.isHiding()) {
if (mState == StatusBarState.KEYGUARD
&& !mStatusBarKeyguardViewManager.bouncerIsOrWillBeShowing()) {
if (mState == StatusBarState.SHADE_LOCKED
&& mKeyguardUpdateMonitor.isUdfpsEnrolled()) {
// shade is showing while locked on the keyguard, so go back to showing the
// lock screen where users can use the UDFPS affordance to enter the device
mStatusBarKeyguardViewManager.reset(true);
} else if ((mState == StatusBarState.KEYGUARD
&& !mStatusBarKeyguardViewManager.bouncerIsOrWillBeShowing())
|| mState == StatusBarState.SHADE_LOCKED) {
mStatusBarKeyguardViewManager.showGenericBouncer(true /* scrimmed */);
} else if (mState == StatusBarState.SHADE_LOCKED) {
mStatusBarKeyguardViewManager.showBouncer(true /* scrimmed */);
}
}
}

View File

@@ -60,6 +60,7 @@ import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.ViewGroupFadeHelper;
import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback;
@@ -337,6 +338,12 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
// • Full-screen user switcher is displayed.
if (mNotificationPanelViewController.isUnlockHintRunning()) {
mBouncer.setExpansion(KeyguardBouncer.EXPANSION_HIDDEN);
} else if (mStatusBarStateController.getState() == StatusBarState.SHADE_LOCKED
&& mKeyguardUpdateManager.isUdfpsEnrolled()) {
// Don't expand to the bouncer. Instead transition back to the lock screen (see
// StatusBar#showBouncerOrLockScreenIfKeyguard) where the user can use the UDFPS
// affordance to enter the device (or swipe up to the input bouncer)
return;
} else if (bouncerNeedsScrimming()) {
mBouncer.setExpansion(KeyguardBouncer.EXPANSION_VISIBLE);
} else if (mShowing) {