diff --git a/packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java b/packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java index 509ae7f92e10d..d7f2d7540e558 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java @@ -235,7 +235,8 @@ public class DependencyProvider { NavigationBarOverlayController navBarOverlayController, ConfigurationController configurationController, NavigationBarA11yHelper navigationBarA11yHelper, - TaskbarDelegate taskbarDelegate) { + TaskbarDelegate taskbarDelegate, + UserTracker userTracker) { return new NavigationBarController(context, windowManager, assistManagerLazy, @@ -262,7 +263,8 @@ public class DependencyProvider { navBarOverlayController, configurationController, navigationBarA11yHelper, - taskbarDelegate); + taskbarDelegate, + userTracker); } /** */ diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java index add4556d17ee2..2e962b3f1caff 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java @@ -130,6 +130,7 @@ import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.recents.Recents; +import com.android.systemui.settings.UserTracker; import com.android.systemui.shared.recents.utilities.Utilities; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.QuickStepContract; @@ -199,6 +200,7 @@ public class NavigationBar implements View.OnAttachStateChangeListener, private final NavigationBarOverlayController mNavbarOverlayController; private final UiEventLogger mUiEventLogger; private final NavigationBarA11yHelper mNavigationBarA11yHelper; + private final UserTracker mUserTracker; private Bundle mSavedState; private NavigationBarView mNavigationBarView; @@ -460,7 +462,8 @@ public class NavigationBar implements View.OnAttachStateChangeListener, @Main Handler mainHandler, NavigationBarOverlayController navbarOverlayController, UiEventLogger uiEventLogger, - NavigationBarA11yHelper navigationBarA11yHelper) { + NavigationBarA11yHelper navigationBarA11yHelper, + UserTracker userTracker) { mContext = context; mWindowManager = windowManager; mAccessibilityManager = accessibilityManager; @@ -485,6 +488,8 @@ public class NavigationBar implements View.OnAttachStateChangeListener, mNavbarOverlayController = navbarOverlayController; mUiEventLogger = uiEventLogger; mNavigationBarA11yHelper = navigationBarA11yHelper; + mUserTracker = userTracker; + mNavBarMode = mNavigationModeController.addListener(this); } @@ -1375,12 +1380,14 @@ public class NavigationBar implements View.OnAttachStateChangeListener, .getAssistInfoForUser(UserHandle.USER_CURRENT) != null; boolean longPressDefault = mContext.getResources().getBoolean( com.android.internal.R.bool.config_assistLongPressHomeEnabledDefault); - mLongPressHomeEnabled = Settings.Secure.getInt(mContentResolver, - Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED, longPressDefault ? 1 : 0) != 0; + mLongPressHomeEnabled = Settings.Secure.getIntForUser(mContentResolver, + Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED, longPressDefault ? 1 : 0, + mUserTracker.getUserId()) != 0; boolean gestureDefault = mContext.getResources().getBoolean( com.android.internal.R.bool.config_assistTouchGestureEnabledDefault); - mAssistantTouchGestureEnabled = Settings.Secure.getInt(mContentResolver, - Settings.Secure.ASSIST_TOUCH_GESTURE_ENABLED, gestureDefault ? 1 : 0) != 0; + mAssistantTouchGestureEnabled = Settings.Secure.getIntForUser(mContentResolver, + Settings.Secure.ASSIST_TOUCH_GESTURE_ENABLED, gestureDefault ? 1 : 0, + mUserTracker.getUserId()) != 0; if (mOverviewProxyService.getProxy() != null) { try { mOverviewProxyService.getProxy().onAssistantAvailable(mAssistantAvailable diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java index d4f82513fc3de..74f5022183e7e 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java @@ -56,6 +56,7 @@ import com.android.systemui.model.SysUiState; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.recents.Recents; +import com.android.systemui.settings.UserTracker; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue.Callbacks; import com.android.systemui.statusbar.NotificationRemoteInputManager; @@ -116,6 +117,7 @@ public class NavigationBarController implements Callbacks, private final TaskbarDelegate mTaskbarDelegate; private int mNavMode; private boolean mIsTablet; + private final UserTracker mUserTracker; /** A displayId - nav bar maps. */ @VisibleForTesting @@ -153,7 +155,8 @@ public class NavigationBarController implements Callbacks, NavigationBarOverlayController navBarOverlayController, ConfigurationController configurationController, NavigationBarA11yHelper navigationBarA11yHelper, - TaskbarDelegate taskbarDelegate) { + TaskbarDelegate taskbarDelegate, + UserTracker userTracker) { mContext = context; mWindowManager = windowManager; mAssistManagerLazy = assistManagerLazy; @@ -189,6 +192,7 @@ public class NavigationBarController implements Callbacks, mTaskbarDelegate.setOverviewProxyService(overviewProxyService, navigationBarA11yHelper, mSysUiFlagsContainer); mIsTablet = isTablet(mContext.getResources().getConfiguration()); + mUserTracker = userTracker; } @Override @@ -370,7 +374,8 @@ public class NavigationBarController implements Callbacks, mHandler, mNavBarOverlayController, mUiEventLogger, - mNavigationBarA11yHelper); + mNavigationBarA11yHelper, + mUserTracker); mNavigationBars.put(displayId, navBar); View navigationBarView = navBar.createView(savedState); diff --git a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java index bde44d68599da..cfaa2e0dc55d9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerTest.java @@ -52,6 +52,7 @@ import com.android.systemui.model.SysUiState; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.recents.Recents; +import com.android.systemui.settings.UserTracker; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.phone.ShadeController; @@ -112,7 +113,8 @@ public class NavigationBarControllerTest extends SysuiTestCase { mock(NavigationBarOverlayController.class), mock(ConfigurationController.class), mock(NavigationBarA11yHelper.class), - mock(TaskbarDelegate.class))); + mock(TaskbarDelegate.class), + mock(UserTracker.class))); initializeNavigationBars(); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarTest.java index 6359ca835e8fa..6742599fff9ba 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarTest.java @@ -76,6 +76,7 @@ import com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.recents.Recents; +import com.android.systemui.settings.UserTracker; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.phone.ShadeController; @@ -277,7 +278,8 @@ public class NavigationBarTest extends SysuiTestCase { mHandler, mock(NavigationBarOverlayController.class), mUiEventLogger, - mock(NavigationBarA11yHelper.class))); + mock(NavigationBarA11yHelper.class), + mock(UserTracker.class))); } private void processAllMessages() {