Adjusted Settings to use updated internal InputMethodManager methods
IMM#isStylusHandwritingAvailableAsUser, IMM#getEnabledInputMethodListAsUser, and IMM#getEnabledInputMethodSubtypeListAsUser use now UserHandle instead of userId. These internal APIs are used in Settings and are updated. Test: atest android.view.inputmethod.cts.installtests.MultiUserTest Fix: 283765791 Change-Id: Iedb301fbe26810f2101cbb2669b8be95b87a3e7f
This commit is contained in:
@@ -155,7 +155,7 @@ public class AvailableVirtualKeyboardFragment extends DashboardFragment
|
|||||||
final Context prefContext = getPrefContext();
|
final Context prefContext = getPrefContext();
|
||||||
final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
|
final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
|
||||||
final List<InputMethodInfo> enabledImis = getContext().getSystemService(
|
final List<InputMethodInfo> enabledImis = getContext().getSystemService(
|
||||||
InputMethodManager.class).getEnabledInputMethodListAsUser(mUserId);
|
InputMethodManager.class).getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
|
||||||
final int numImis = (imis == null ? 0 : imis.size());
|
final int numImis = (imis == null ? 0 : imis.size());
|
||||||
for (int i = 0; i < numImis; ++i) {
|
for (int i = 0; i < numImis; ++i) {
|
||||||
final InputMethodInfo imi = imis.get(i);
|
final InputMethodInfo imi = imis.get(i);
|
||||||
|
@@ -145,7 +145,8 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment
|
|||||||
|
|
||||||
PreferenceScreen preferenceScreen = getPreferenceScreen();
|
PreferenceScreen preferenceScreen = getPreferenceScreen();
|
||||||
preferenceScreen.removeAll();
|
preferenceScreen.removeAll();
|
||||||
List<InputMethodInfo> infoList = mImm.getEnabledInputMethodListAsUser(mUserId);
|
List<InputMethodInfo> infoList =
|
||||||
|
mImm.getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
|
||||||
Collections.sort(infoList, new Comparator<InputMethodInfo>() {
|
Collections.sort(infoList, new Comparator<InputMethodInfo>() {
|
||||||
public int compare(InputMethodInfo o1, InputMethodInfo o2) {
|
public int compare(InputMethodInfo o1, InputMethodInfo o2) {
|
||||||
String s1 = o1.loadLabel(mContext.getPackageManager()).toString();
|
String s1 = o1.loadLabel(mContext.getPackageManager()).toString();
|
||||||
@@ -157,7 +158,8 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment
|
|||||||
for (InputMethodInfo info : infoList) {
|
for (InputMethodInfo info : infoList) {
|
||||||
mKeyboardInfoList.clear();
|
mKeyboardInfoList.clear();
|
||||||
List<InputMethodSubtype> subtypes =
|
List<InputMethodSubtype> subtypes =
|
||||||
mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true, mUserId);
|
mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true,
|
||||||
|
UserHandle.of(mUserId));
|
||||||
for (InputMethodSubtype subtype : subtypes) {
|
for (InputMethodSubtype subtype : subtypes) {
|
||||||
if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
|
if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
|
||||||
mapLanguageWithLayout(info, subtype);
|
mapLanguageWithLayout(info, subtype);
|
||||||
|
@@ -20,6 +20,7 @@ import android.content.Context;
|
|||||||
import android.hardware.input.InputDeviceIdentifier;
|
import android.hardware.input.InputDeviceIdentifier;
|
||||||
import android.hardware.input.InputManager;
|
import android.hardware.input.InputManager;
|
||||||
import android.hardware.input.KeyboardLayout;
|
import android.hardware.input.KeyboardLayout;
|
||||||
|
import android.os.UserHandle;
|
||||||
import android.view.InputDevice;
|
import android.view.InputDevice;
|
||||||
import android.view.inputmethod.InputMethodInfo;
|
import android.view.inputmethod.InputMethodInfo;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
@@ -55,7 +56,7 @@ public class NewKeyboardSettingsUtils {
|
|||||||
|
|
||||||
static List<String> getSuitableImeLabels(Context context, InputMethodManager imm, int userId) {
|
static List<String> getSuitableImeLabels(Context context, InputMethodManager imm, int userId) {
|
||||||
List<String> suitableInputMethodInfoLabels = new ArrayList<>();
|
List<String> suitableInputMethodInfoLabels = new ArrayList<>();
|
||||||
List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(userId);
|
List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(UserHandle.of(userId));
|
||||||
for (InputMethodInfo info : infoList) {
|
for (InputMethodInfo info : infoList) {
|
||||||
List<InputMethodSubtype> subtypes =
|
List<InputMethodSubtype> subtypes =
|
||||||
imm.getEnabledInputMethodSubtypeList(info, true);
|
imm.getEnabledInputMethodSubtypeList(info, true);
|
||||||
|
@@ -23,11 +23,11 @@ import static com.google.common.truth.Truth.assertThat;
|
|||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import static org.mockito.Mockito.mock;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
@@ -159,7 +159,7 @@ public class AvailableVirtualKeyboardFragmentTest {
|
|||||||
mFragment.updateInputMethodPreferenceViews();
|
mFragment.updateInputMethodPreferenceViews();
|
||||||
|
|
||||||
verify(mValuesWrapper).getInputMethodList();
|
verify(mValuesWrapper).getInputMethodList();
|
||||||
verify(mInputMethodManager).getEnabledInputMethodListAsUser(anyInt());
|
verify(mInputMethodManager).getEnabledInputMethodListAsUser(any(UserHandle.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user