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); 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) { public void setExpansion(float fraction) {
float alpha = MathUtils.map(KeyguardBouncer.ALPHA_EXPANSION_THRESHOLD, 1, 1, 0, fraction); float alpha = MathUtils.map(KeyguardBouncer.ALPHA_EXPANSION_THRESHOLD, 1, 1, 0, fraction);
mView.setAlpha(MathUtils.constrain(alpha, 0f, 1f)); mView.setAlpha(MathUtils.constrain(alpha, 0f, 1f));

View File

@@ -2082,7 +2082,7 @@ public class StatusBar extends SystemUI implements
mShadeController.runPostCollapseRunnables(); mShadeController.runPostCollapseRunnables();
setInteracting(StatusBarManager.WINDOW_STATUS_BAR, false); setInteracting(StatusBarManager.WINDOW_STATUS_BAR, false);
if (!mNotificationActivityStarter.isCollapsingToShowActivityOverLockscreen()) { if (!mNotificationActivityStarter.isCollapsingToShowActivityOverLockscreen()) {
showBouncerIfKeyguard(); showBouncerOrLockScreenIfKeyguard();
} else if (DEBUG) { } else if (DEBUG) {
Log.d(TAG, "Not showing bouncer due to activity showing over lockscreen"); Log.d(TAG, "Not showing bouncer due to activity showing over lockscreen");
} }
@@ -3288,13 +3288,17 @@ public class StatusBar extends SystemUI implements
return false; return false;
} }
private void showBouncerIfKeyguard() { private void showBouncerOrLockScreenIfKeyguard() {
if (!mKeyguardViewMediator.isHiding()) { if (!mKeyguardViewMediator.isHiding()) {
if (mState == StatusBarState.KEYGUARD if (mState == StatusBarState.SHADE_LOCKED
&& !mStatusBarKeyguardViewManager.bouncerIsOrWillBeShowing()) { && 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 */); 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.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.RemoteInputController; import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.ViewGroupFadeHelper; import com.android.systemui.statusbar.notification.ViewGroupFadeHelper;
import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback; import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback;
@@ -337,6 +338,12 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
// • Full-screen user switcher is displayed. // • Full-screen user switcher is displayed.
if (mNotificationPanelViewController.isUnlockHintRunning()) { if (mNotificationPanelViewController.isUnlockHintRunning()) {
mBouncer.setExpansion(KeyguardBouncer.EXPANSION_HIDDEN); 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()) { } else if (bouncerNeedsScrimming()) {
mBouncer.setExpansion(KeyguardBouncer.EXPANSION_VISIBLE); mBouncer.setExpansion(KeyguardBouncer.EXPANSION_VISIBLE);
} else if (mShowing) { } else if (mShowing) {