Merge "Fixes home button showing on lockscreen in three button mode" into rvc-dev am: d2b0f54cb8
Change-Id: I0181a2cfa43f1022653b494e8e68a97bc65454d7
This commit is contained in:
@@ -91,8 +91,10 @@ import com.android.systemui.dagger.qualifiers.UiBackground;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.keyguard.dagger.KeyguardModule;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.shared.system.QuickStepContract;
|
||||
import com.android.systemui.statusbar.phone.BiometricUnlockController;
|
||||
import com.android.systemui.statusbar.phone.KeyguardBypassController;
|
||||
import com.android.systemui.statusbar.phone.NavigationModeController;
|
||||
import com.android.systemui.statusbar.phone.NotificationPanelViewController;
|
||||
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.phone.StatusBar;
|
||||
@@ -374,6 +376,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
|
||||
|
||||
private boolean mLockLater;
|
||||
private boolean mShowHomeOverLockscreen;
|
||||
private boolean mInGestureNavigationMode;
|
||||
|
||||
private boolean mWakeAndUnlocking;
|
||||
private IKeyguardDrawnCallback mDrawnCallback;
|
||||
@@ -720,7 +723,8 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor, DumpManager dumpManager,
|
||||
@UiBackground Executor uiBgExecutor, PowerManager powerManager,
|
||||
TrustManager trustManager,
|
||||
DeviceConfigProxy deviceConfig) {
|
||||
DeviceConfigProxy deviceConfig,
|
||||
NavigationModeController navigationModeController) {
|
||||
super(context);
|
||||
mFalsingManager = falsingManager;
|
||||
mLockPatternUtils = lockPatternUtils;
|
||||
@@ -742,6 +746,10 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
|
||||
DeviceConfig.NAMESPACE_SYSTEMUI,
|
||||
mHandler::post,
|
||||
mOnPropertiesChangedListener);
|
||||
mInGestureNavigationMode =
|
||||
QuickStepContract.isGesturalMode(navigationModeController.addListener(mode -> {
|
||||
mInGestureNavigationMode = QuickStepContract.isGesturalMode(mode);
|
||||
}));
|
||||
}
|
||||
|
||||
public void userActivity() {
|
||||
@@ -2013,7 +2021,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
|
||||
// windows that appear on top, ever
|
||||
int flags = StatusBarManager.DISABLE_NONE;
|
||||
if (forceHideHomeRecentsButtons || isShowingAndNotOccluded()) {
|
||||
if (!mShowHomeOverLockscreen) {
|
||||
if (!mShowHomeOverLockscreen || !mInGestureNavigationMode) {
|
||||
flags |= StatusBarManager.DISABLE_HOME;
|
||||
}
|
||||
flags |= StatusBarManager.DISABLE_RECENT;
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.keyguard.DismissCallbackRegistry;
|
||||
import com.android.systemui.keyguard.KeyguardViewMediator;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.statusbar.phone.NavigationModeController;
|
||||
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.phone.StatusBar;
|
||||
import com.android.systemui.util.DeviceConfigProxy;
|
||||
@@ -64,7 +65,8 @@ public class KeyguardModule {
|
||||
PowerManager powerManager,
|
||||
TrustManager trustManager,
|
||||
@UiBackground Executor uiBgExecutor,
|
||||
DeviceConfigProxy deviceConfig) {
|
||||
DeviceConfigProxy deviceConfig,
|
||||
NavigationModeController navigationModeController) {
|
||||
return new KeyguardViewMediator(
|
||||
context,
|
||||
falsingManager,
|
||||
@@ -78,6 +80,7 @@ public class KeyguardModule {
|
||||
uiBgExecutor,
|
||||
powerManager,
|
||||
trustManager,
|
||||
deviceConfig);
|
||||
deviceConfig,
|
||||
navigationModeController);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.classifier.FalsingManagerFake;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.statusbar.phone.NavigationModeController;
|
||||
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
|
||||
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
||||
import com.android.systemui.util.DeviceConfigProxy;
|
||||
@@ -71,6 +72,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
|
||||
private @Mock DumpManager mDumpManager;
|
||||
private @Mock PowerManager mPowerManager;
|
||||
private @Mock TrustManager mTrustManager;
|
||||
private @Mock NavigationModeController mNavigationModeController;
|
||||
private DeviceConfigProxy mDeviceConfig = new DeviceConfigProxyFake();
|
||||
private FakeExecutor mUiBgExecutor = new FakeExecutor(new FakeSystemClock());
|
||||
|
||||
@@ -88,7 +90,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
|
||||
mContext, mFalsingManager, mLockPatternUtils, mBroadcastDispatcher,
|
||||
mNotificationShadeWindowController, () -> mStatusBarKeyguardViewManager,
|
||||
mDismissCallbackRegistry, mUpdateMonitor, mDumpManager, mUiBgExecutor,
|
||||
mPowerManager, mTrustManager, mDeviceConfig);
|
||||
mPowerManager, mTrustManager, mDeviceConfig, mNavigationModeController);
|
||||
mViewMediator.start();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user