Teach hard keyboard settings about correct user ID

Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD is a per-user settings.
PhysicalKeyboardFragment needs to use the current user's ID rather than
hard-coded user ID 0.

Bug: 29406181
Change-Id: Ie40f729f3c85e9ce9ad8f957caba338786b119d9
This commit is contained in:
Yohei Yukawa
2016-06-16 00:02:01 -07:00
parent 6913b6118f
commit 966476b7dc

View File

@@ -30,6 +30,7 @@ import android.hardware.input.InputManager;
import android.hardware.input.KeyboardLayout;
import android.os.Bundle;
import android.os.Handler;
import android.os.UserHandle;
import android.provider.Settings.Secure;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
@@ -60,7 +61,6 @@ import java.util.Objects;
public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment
implements InputManager.InputDeviceListener {
private static final int USER_SYSTEM = 0;
private static final String KEYBOARD_ASSISTANCE_CATEGORY = "keyboard_assistance_category";
private static final String SHOW_VIRTUAL_KEYBOARD_SWITCH = "show_virtual_keyboard_switch";
private static final String KEYBOARD_SHORTCUTS_HELPER = "keyboard_shortcuts_helper";
@@ -93,7 +93,7 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment
getContentResolver(),
new HashMap<>(),
new ArrayList<>(),
USER_SYSTEM,
UserHandle.myUserId(),
false /* copyOnWrite */);
mKeyboardAssistanceCategory = Preconditions.checkNotNull(
(PreferenceCategory) findPreference(KEYBOARD_ASSISTANCE_CATEGORY));
@@ -245,7 +245,7 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment
Secure.getUriFor(Secure.SHOW_IME_WITH_HARD_KEYBOARD),
false,
mContentObserver,
USER_SYSTEM);
UserHandle.myUserId());
updateShowVirtualKeyboardSwitch();
}