Merge "Fixed an issue where the shade wouldn't stay open on unlock" into sc-dev

This commit is contained in:
Selim Cinek
2021-05-10 18:05:29 +00:00
committed by Android (Google) Code Review
3 changed files with 16 additions and 14 deletions

View File

@@ -104,6 +104,7 @@ import com.android.systemui.keyguard.dagger.KeyguardModule;
import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.phone.BiometricUnlockController; import com.android.systemui.statusbar.phone.BiometricUnlockController;
import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.KeyguardBypassController;
@@ -229,6 +230,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
private AlarmManager mAlarmManager; private AlarmManager mAlarmManager;
private AudioManager mAudioManager; private AudioManager mAudioManager;
private StatusBarManager mStatusBarManager; private StatusBarManager mStatusBarManager;
private final SysuiStatusBarStateController mStatusBarStateController;
private final Executor mUiBgExecutor; private final Executor mUiBgExecutor;
private boolean mSystemReady; private boolean mSystemReady;
@@ -779,7 +781,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
NavigationModeController navigationModeController, NavigationModeController navigationModeController,
KeyguardDisplayManager keyguardDisplayManager, KeyguardDisplayManager keyguardDisplayManager,
DozeParameters dozeParameters, DozeParameters dozeParameters,
StatusBarStateController statusBarStateController, SysuiStatusBarStateController statusBarStateController,
KeyguardStateController keyguardStateController, KeyguardStateController keyguardStateController,
Lazy<KeyguardUnlockAnimationController> keyguardUnlockAnimationControllerLazy) { Lazy<KeyguardUnlockAnimationController> keyguardUnlockAnimationControllerLazy) {
super(context); super(context);
@@ -808,6 +810,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
mInGestureNavigationMode = QuickStepContract.isGesturalMode(mode); mInGestureNavigationMode = QuickStepContract.isGesturalMode(mode);
})); }));
mDozeParameters = dozeParameters; mDozeParameters = dozeParameters;
mStatusBarStateController = statusBarStateController;
statusBarStateController.addCallback(this); statusBarStateController.addCallback(this);
mKeyguardStateController = keyguardStateController; mKeyguardStateController = keyguardStateController;
@@ -2100,19 +2103,17 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
playSounds(false); playSounds(false);
} }
if (KeyguardService.sEnableRemoteKeyguardAnimation) { // When remaining on the shade, there's no need to do a fancy remote animation,
// it will dismiss the panel in that case.
if (KeyguardService.sEnableRemoteKeyguardAnimation
&& !mStatusBarStateController.leaveOpenOnKeyguardHide()
&& apps != null && apps.length > 0) {
mSurfaceBehindRemoteAnimationFinishedCallback = finishedCallback; mSurfaceBehindRemoteAnimationFinishedCallback = finishedCallback;
mSurfaceBehindRemoteAnimationRunning = true; mSurfaceBehindRemoteAnimationRunning = true;
if (apps != null && apps.length > 0) { // Pass the surface and metadata to the unlock animation controller.
// Pass the surface and metadata to the unlock animation controller. mKeyguardUnlockAnimationControllerLazy.get().notifyStartKeyguardExitAnimation(
mKeyguardUnlockAnimationControllerLazy.get().notifyStartKeyguardExitAnimation( apps[0], startTime, mSurfaceBehindRemoteAnimationRequested);
apps[0], startTime, mSurfaceBehindRemoteAnimationRequested);
} else {
// We weren't given any surfaces to animate, so just finish.
onKeyguardExitRemoteAnimationFinished();
return;
}
} else { } else {
setShowingLocked(false); setShowingLocked(false);
mWakeAndUnlocking = false; mWakeAndUnlocking = false;

View File

@@ -47,6 +47,7 @@ import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.KeyguardLiftController; import com.android.systemui.statusbar.phone.KeyguardLiftController;
import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBar;
@@ -94,7 +95,7 @@ public class KeyguardModule {
NavigationModeController navigationModeController, NavigationModeController navigationModeController,
KeyguardDisplayManager keyguardDisplayManager, KeyguardDisplayManager keyguardDisplayManager,
DozeParameters dozeParameters, DozeParameters dozeParameters,
StatusBarStateController statusBarStateController, SysuiStatusBarStateController statusBarStateController,
KeyguardStateController keyguardStateController, KeyguardStateController keyguardStateController,
Lazy<KeyguardUnlockAnimationController> keyguardUnlockAnimationController) { Lazy<KeyguardUnlockAnimationController> keyguardUnlockAnimationController) {
return new KeyguardViewMediator( return new KeyguardViewMediator(

View File

@@ -46,7 +46,7 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.classifier.FalsingCollectorFake; import com.android.systemui.classifier.FalsingCollectorFake;
import com.android.systemui.dump.DumpManager; import com.android.systemui.dump.DumpManager;
import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -79,7 +79,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
private @Mock NavigationModeController mNavigationModeController; private @Mock NavigationModeController mNavigationModeController;
private @Mock KeyguardDisplayManager mKeyguardDisplayManager; private @Mock KeyguardDisplayManager mKeyguardDisplayManager;
private @Mock DozeParameters mDozeParameters; private @Mock DozeParameters mDozeParameters;
private @Mock StatusBarStateController mStatusBarStateController; private @Mock SysuiStatusBarStateController mStatusBarStateController;
private @Mock KeyguardStateController mKeyguardStateController; private @Mock KeyguardStateController mKeyguardStateController;
private @Mock KeyguardUnlockAnimationController mKeyguardUnlockAnimationController; private @Mock KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
private DeviceConfigProxy mDeviceConfig = new DeviceConfigProxyFake(); private DeviceConfigProxy mDeviceConfig = new DeviceConfigProxyFake();