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 List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
|
||||
final List<InputMethodInfo> enabledImis = getContext().getSystemService(
|
||||
InputMethodManager.class).getEnabledInputMethodListAsUser(mUserId);
|
||||
InputMethodManager.class).getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
|
||||
final int numImis = (imis == null ? 0 : imis.size());
|
||||
for (int i = 0; i < numImis; ++i) {
|
||||
final InputMethodInfo imi = imis.get(i);
|
||||
|
@@ -145,7 +145,8 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment
|
||||
|
||||
PreferenceScreen preferenceScreen = getPreferenceScreen();
|
||||
preferenceScreen.removeAll();
|
||||
List<InputMethodInfo> infoList = mImm.getEnabledInputMethodListAsUser(mUserId);
|
||||
List<InputMethodInfo> infoList =
|
||||
mImm.getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
|
||||
Collections.sort(infoList, new Comparator<InputMethodInfo>() {
|
||||
public int compare(InputMethodInfo o1, InputMethodInfo o2) {
|
||||
String s1 = o1.loadLabel(mContext.getPackageManager()).toString();
|
||||
@@ -157,7 +158,8 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment
|
||||
for (InputMethodInfo info : infoList) {
|
||||
mKeyboardInfoList.clear();
|
||||
List<InputMethodSubtype> subtypes =
|
||||
mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true, mUserId);
|
||||
mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true,
|
||||
UserHandle.of(mUserId));
|
||||
for (InputMethodSubtype subtype : subtypes) {
|
||||
if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
|
||||
mapLanguageWithLayout(info, subtype);
|
||||
|
@@ -20,6 +20,7 @@ import android.content.Context;
|
||||
import android.hardware.input.InputDeviceIdentifier;
|
||||
import android.hardware.input.InputManager;
|
||||
import android.hardware.input.KeyboardLayout;
|
||||
import android.os.UserHandle;
|
||||
import android.view.InputDevice;
|
||||
import android.view.inputmethod.InputMethodInfo;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
@@ -55,7 +56,7 @@ public class NewKeyboardSettingsUtils {
|
||||
|
||||
static List<String> getSuitableImeLabels(Context context, InputMethodManager imm, int userId) {
|
||||
List<String> suitableInputMethodInfoLabels = new ArrayList<>();
|
||||
List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(userId);
|
||||
List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(UserHandle.of(userId));
|
||||
for (InputMethodInfo info : infoList) {
|
||||
List<InputMethodSubtype> subtypes =
|
||||
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.anyInt;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
@@ -159,7 +159,7 @@ public class AvailableVirtualKeyboardFragmentTest {
|
||||
mFragment.updateInputMethodPreferenceViews();
|
||||
|
||||
verify(mValuesWrapper).getInputMethodList();
|
||||
verify(mInputMethodManager).getEnabledInputMethodListAsUser(anyInt());
|
||||
verify(mInputMethodManager).getEnabledInputMethodListAsUser(any(UserHandle.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user