Fix get accessibility settings for wrong user

Bug: 138970298
Test: atest --test-mapping $ANDROID_BUILD_TOP/frameworks/base/services/accessibility:postsubmit
Change-Id: I1c34f13553e91ac0d504259b2091d1c35006fbfa
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java
index ec15a80..69f1e0e 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java
@@ -231,8 +231,8 @@
             // the new mode. That happens when we start up after a reboot, and we don't want
             // to overwrite the value we had from when we first started controlling the setting.
             if (getSoftKeyboardValueFromSettings() != SHOW_MODE_IGNORE_HARD_KEYBOARD) {
-                setOriginalHardKeyboardValue(getSecureInt(
-                        Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0) != 0);
+                setOriginalHardKeyboardValue(getSecureIntForUser(
+                        Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0, mUserId) != 0);
             }
             putSecureIntForUser(Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD, 1, mUserId);
         } else if (mSoftKeyboardShowMode == SHOW_MODE_IGNORE_HARD_KEYBOARD) {
@@ -261,7 +261,7 @@
      */
     void reconcileSoftKeyboardModeWithSettingsLocked() {
         final boolean showWithHardKeyboardSettings =
-                getSecureInt(Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0) != 0;
+                getSecureIntForUser(Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0, mUserId) != 0;
         if (mSoftKeyboardShowMode == SHOW_MODE_IGNORE_HARD_KEYBOARD) {
             if (!showWithHardKeyboardSettings) {
                 // The user has overridden the setting. Respect that and prevent further changes
@@ -322,23 +322,23 @@
     }
 
     private void setUserOverridesHardKeyboardSetting() {
-        final int softKeyboardSetting = getSecureInt(
-                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO);
+        final int softKeyboardSetting = getSecureIntForUser(
+                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO, mUserId);
         putSecureIntForUser(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE,
                 softKeyboardSetting | SHOW_MODE_HARD_KEYBOARD_OVERRIDDEN,
                 mUserId);
     }
 
     private boolean hasUserOverriddenHardKeyboardSetting() {
-        final int softKeyboardSetting = getSecureInt(
-                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO);
+        final int softKeyboardSetting = getSecureIntForUser(
+                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO, mUserId);
         return (softKeyboardSetting & SHOW_MODE_HARD_KEYBOARD_OVERRIDDEN)
                 != 0;
     }
 
     private void setOriginalHardKeyboardValue(boolean originalHardKeyboardValue) {
-        final int oldSoftKeyboardSetting = getSecureInt(
-                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO);
+        final int oldSoftKeyboardSetting = getSecureIntForUser(
+                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO, mUserId);
         final int newSoftKeyboardSetting = oldSoftKeyboardSetting
                 & (~SHOW_MODE_HARD_KEYBOARD_ORIGINAL_VALUE)
                 | ((originalHardKeyboardValue) ? SHOW_MODE_HARD_KEYBOARD_ORIGINAL_VALUE : 0);
@@ -347,8 +347,8 @@
     }
 
     private void saveSoftKeyboardValueToSettings(int softKeyboardShowMode) {
-        final int oldSoftKeyboardSetting = getSecureInt(
-                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO);
+        final int oldSoftKeyboardSetting = getSecureIntForUser(
+                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO, mUserId);
         final int newSoftKeyboardSetting = oldSoftKeyboardSetting & (~SHOW_MODE_MASK)
                 | softKeyboardShowMode;
         putSecureIntForUser(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE,
@@ -356,12 +356,14 @@
     }
 
     private int getSoftKeyboardValueFromSettings() {
-        return getSecureInt(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO)
+        return getSecureIntForUser(
+                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO, mUserId)
                 & SHOW_MODE_MASK;
     }
 
     private boolean getOriginalHardKeyboardValue() {
-        return (getSecureInt(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO)
+        return (getSecureIntForUser(
+                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, SHOW_MODE_AUTO, mUserId)
                 & SHOW_MODE_HARD_KEYBOARD_ORIGINAL_VALUE) != 0;
     }
 
@@ -374,8 +376,8 @@
         }
     }
 
-    private int getSecureInt(String key, int def) {
-        return Settings.Secure.getInt(mContext.getContentResolver(), key, def);
+    private int getSecureIntForUser(String key, int def, int userId) {
+        return Settings.Secure.getIntForUser(mContext.getContentResolver(), key, def, userId);
     }
 
     private void putSecureIntForUser(String key, int value, int userId) {
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java
index b642aa4..9180054 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java
@@ -168,8 +168,8 @@
         mUserState.reconcileSoftKeyboardModeWithSettingsLocked();
 
         assertEquals(SHOW_MODE_AUTO, mUserState.getSoftKeyboardShowModeLocked());
-        assertEquals(SHOW_MODE_AUTO,
-                getSecureInt(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE));
+        assertEquals(SHOW_MODE_AUTO, getSecureIntForUser(
+                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, USER_ID));
         assertNull(mUserState.getServiceChangingSoftKeyboardModeLocked());
     }
 
@@ -187,7 +187,7 @@
         mUserState.reconcileSoftKeyboardModeWithSettingsLocked();
 
         assertEquals(SHOW_MODE_AUTO | SHOW_MODE_HARD_KEYBOARD_OVERRIDDEN,
-                getSecureInt(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE));
+                getSecureIntForUser(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, USER_ID));
         assertNull(mUserState.getServiceChangingSoftKeyboardModeLocked());
     }
 
@@ -252,7 +252,7 @@
         assertTrue(mUserState.setSoftKeyboardModeLocked(SHOW_MODE_IGNORE_HARD_KEYBOARD, null));
 
         assertEquals(SHOW_MODE_IGNORE_HARD_KEYBOARD | SHOW_MODE_HARD_KEYBOARD_ORIGINAL_VALUE,
-                getSecureInt(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE));
+                getSecureIntForUser(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, USER_ID));
     }
 
     @Test
@@ -264,7 +264,8 @@
 
         assertTrue(mUserState.setSoftKeyboardModeLocked(SHOW_MODE_AUTO, null));
 
-        assertEquals(STATE_SHOW_IME, getSecureInt(Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD));
+        assertEquals(STATE_SHOW_IME, getSecureIntForUser(
+                Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD, USER_ID));
     }
 
     @Test
@@ -272,8 +273,8 @@
         assertTrue(mUserState.setSoftKeyboardModeLocked(SHOW_MODE_HIDDEN, COMPONENT_NAME));
 
         assertEquals(SHOW_MODE_HIDDEN, mUserState.getSoftKeyboardShowModeLocked());
-        assertEquals(SHOW_MODE_HIDDEN,
-                getSecureInt(Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE));
+        assertEquals(SHOW_MODE_HIDDEN, getSecureIntForUser(
+                Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, USER_ID));
         assertEquals(COMPONENT_NAME, mUserState.getServiceChangingSoftKeyboardModeLocked());
     }
 
@@ -286,8 +287,8 @@
         verify(mMockConnection).notifySoftKeyboardShowModeChangedLocked(eq(SHOW_MODE_HIDDEN));
     }
 
-    private int getSecureInt(String key) {
-        return Settings.Secure.getInt(mMockResolver, key, -1);
+    private int getSecureIntForUser(String key, int userId) {
+        return Settings.Secure.getIntForUser(mMockResolver, key, -1, userId);
     }
 
     private void putSecureIntForUser(String key, int value, int userId) {