Loading packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeUtil.java +2 −2 Original line number Diff line number Diff line Loading @@ -419,8 +419,8 @@ public class InputMethodAndSubtypeUtil { return configurationLocale; } public static boolean isValidSystemNonAuxAsciiCapableIme(InputMethodInfo imi) { if (imi.isAuxiliaryIme() || !imi.isSystem()) { public static boolean isValidNonAuxAsciiCapableIme(InputMethodInfo imi) { if (imi.isAuxiliaryIme()) { return false; } final int subtypeCount = imi.getSubtypeCount(); Loading packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java +1 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ public class InputMethodPreference extends RestrictedSwitchPreference implements } mInputMethodSettingValues = InputMethodSettingValuesWrapper.getInstance(context); mHasPriorityInSorting = imi.isSystem() && InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme(imi); && InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme(imi); setOnPreferenceClickListener(this); setOnPreferenceChangeListener(this); } Loading packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodSettingValuesWrapper.java +8 −8 Original line number Diff line number Diff line Loading @@ -77,25 +77,25 @@ public class InputMethodSettingValuesWrapper { return true; } final int enabledValidSystemNonAuxAsciiCapableImeCount = getEnabledValidSystemNonAuxAsciiCapableImeCount(); final int enabledValidNonAuxAsciiCapableImeCount = getEnabledValidNonAuxAsciiCapableImeCount(); return enabledValidSystemNonAuxAsciiCapableImeCount <= 1 && !(enabledValidSystemNonAuxAsciiCapableImeCount == 1 && !isEnabled) return enabledValidNonAuxAsciiCapableImeCount <= 1 && !(enabledValidNonAuxAsciiCapableImeCount == 1 && !isEnabled) && imi.isSystem() && InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme(imi); && InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme(imi); } private int getEnabledValidSystemNonAuxAsciiCapableImeCount() { private int getEnabledValidNonAuxAsciiCapableImeCount() { int count = 0; final List<InputMethodInfo> enabledImis = getEnabledInputMethodList(); for (final InputMethodInfo imi : enabledImis) { if (InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme(imi)) { if (InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme(imi)) { ++count; } } if (count == 0) { Log.w(TAG, "No \"enabledValidSystemNonAuxAsciiCapableIme\"s found."); Log.w(TAG, "No \"enabledValidNonAuxAsciiCapableIme\"s found."); } return count; } Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeUtilTest.java +20 −26 Original line number Diff line number Diff line Loading @@ -192,53 +192,47 @@ public class InputMethodAndSubtypeUtilTest { } @Test public void isValidSystemNonAuxAsciiCapableIme() { // System IME w/ no subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false))) public void isValidNonAuxAsciiCapableIme() { // IME w/ no subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false))) .isFalse(); // System IME w/ non-Aux and non-ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false, createDummySubtype("keyboard", false, false)))) // IME w/ non-Aux and non-ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false, createDummySubtype("keyboard", false, false)))) .isFalse(); // System IME w/ non-Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false, createDummySubtype("keyboard", false, true)))) // IME w/ non-Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false, createDummySubtype("keyboard", false, true)))) .isTrue(); // System IME w/ Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, true, createDummySubtype("keyboard", true, true)))) // IME w/ Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(true, createDummySubtype("keyboard", true, true)))) .isFalse(); // System IME w/ non-Aux and ASCII-capable "voice" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false, createDummySubtype("voice", false, true)))) // IME w/ non-Aux and ASCII-capable "voice" subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false, createDummySubtype("voice", false, true)))) .isFalse(); // System IME w/ non-Aux and non-ASCII-capable subtype + Non-Aux and ASCII-capable subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false, // IME w/ non-Aux and non-ASCII-capable subtype + Non-Aux and ASCII-capable subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false, createDummySubtype("keyboard", false, true), createDummySubtype("keyboard", false, false)))) .isTrue(); // Non-system IME w/ non-Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(false, false, createDummySubtype("keyboard", false, true)))) .isFalse(); } private static InputMethodInfo createDummyIme(boolean isSystem, boolean isAuxIme, private static InputMethodInfo createDummyIme(boolean isAuxIme, InputMethodSubtype... subtypes) { final ResolveInfo ri = new ResolveInfo(); final ServiceInfo si = new ServiceInfo(); final ApplicationInfo ai = new ApplicationInfo(); ai.packageName = "com.example.android.dummyime"; ai.enabled = true; ai.flags |= (isSystem ? ApplicationInfo.FLAG_SYSTEM : 0); si.applicationInfo = ai; si.enabled = true; si.packageName = "com.example.android.dummyime"; Loading Loading
packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeUtil.java +2 −2 Original line number Diff line number Diff line Loading @@ -419,8 +419,8 @@ public class InputMethodAndSubtypeUtil { return configurationLocale; } public static boolean isValidSystemNonAuxAsciiCapableIme(InputMethodInfo imi) { if (imi.isAuxiliaryIme() || !imi.isSystem()) { public static boolean isValidNonAuxAsciiCapableIme(InputMethodInfo imi) { if (imi.isAuxiliaryIme()) { return false; } final int subtypeCount = imi.getSubtypeCount(); Loading
packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java +1 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ public class InputMethodPreference extends RestrictedSwitchPreference implements } mInputMethodSettingValues = InputMethodSettingValuesWrapper.getInstance(context); mHasPriorityInSorting = imi.isSystem() && InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme(imi); && InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme(imi); setOnPreferenceClickListener(this); setOnPreferenceChangeListener(this); } Loading
packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodSettingValuesWrapper.java +8 −8 Original line number Diff line number Diff line Loading @@ -77,25 +77,25 @@ public class InputMethodSettingValuesWrapper { return true; } final int enabledValidSystemNonAuxAsciiCapableImeCount = getEnabledValidSystemNonAuxAsciiCapableImeCount(); final int enabledValidNonAuxAsciiCapableImeCount = getEnabledValidNonAuxAsciiCapableImeCount(); return enabledValidSystemNonAuxAsciiCapableImeCount <= 1 && !(enabledValidSystemNonAuxAsciiCapableImeCount == 1 && !isEnabled) return enabledValidNonAuxAsciiCapableImeCount <= 1 && !(enabledValidNonAuxAsciiCapableImeCount == 1 && !isEnabled) && imi.isSystem() && InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme(imi); && InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme(imi); } private int getEnabledValidSystemNonAuxAsciiCapableImeCount() { private int getEnabledValidNonAuxAsciiCapableImeCount() { int count = 0; final List<InputMethodInfo> enabledImis = getEnabledInputMethodList(); for (final InputMethodInfo imi : enabledImis) { if (InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme(imi)) { if (InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme(imi)) { ++count; } } if (count == 0) { Log.w(TAG, "No \"enabledValidSystemNonAuxAsciiCapableIme\"s found."); Log.w(TAG, "No \"enabledValidNonAuxAsciiCapableIme\"s found."); } return count; } Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeUtilTest.java +20 −26 Original line number Diff line number Diff line Loading @@ -192,53 +192,47 @@ public class InputMethodAndSubtypeUtilTest { } @Test public void isValidSystemNonAuxAsciiCapableIme() { // System IME w/ no subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false))) public void isValidNonAuxAsciiCapableIme() { // IME w/ no subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false))) .isFalse(); // System IME w/ non-Aux and non-ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false, createDummySubtype("keyboard", false, false)))) // IME w/ non-Aux and non-ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false, createDummySubtype("keyboard", false, false)))) .isFalse(); // System IME w/ non-Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false, createDummySubtype("keyboard", false, true)))) // IME w/ non-Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false, createDummySubtype("keyboard", false, true)))) .isTrue(); // System IME w/ Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, true, createDummySubtype("keyboard", true, true)))) // IME w/ Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(true, createDummySubtype("keyboard", true, true)))) .isFalse(); // System IME w/ non-Aux and ASCII-capable "voice" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false, createDummySubtype("voice", false, true)))) // IME w/ non-Aux and ASCII-capable "voice" subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false, createDummySubtype("voice", false, true)))) .isFalse(); // System IME w/ non-Aux and non-ASCII-capable subtype + Non-Aux and ASCII-capable subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(true, false, // IME w/ non-Aux and non-ASCII-capable subtype + Non-Aux and ASCII-capable subtype assertThat(InputMethodAndSubtypeUtil.isValidNonAuxAsciiCapableIme( createDummyIme(false, createDummySubtype("keyboard", false, true), createDummySubtype("keyboard", false, false)))) .isTrue(); // Non-system IME w/ non-Aux and ASCII-capable "keyboard" subtype assertThat(InputMethodAndSubtypeUtil.isValidSystemNonAuxAsciiCapableIme( createDummyIme(false, false, createDummySubtype("keyboard", false, true)))) .isFalse(); } private static InputMethodInfo createDummyIme(boolean isSystem, boolean isAuxIme, private static InputMethodInfo createDummyIme(boolean isAuxIme, InputMethodSubtype... subtypes) { final ResolveInfo ri = new ResolveInfo(); final ServiceInfo si = new ServiceInfo(); final ApplicationInfo ai = new ApplicationInfo(); ai.packageName = "com.example.android.dummyime"; ai.enabled = true; ai.flags |= (isSystem ? ApplicationInfo.FLAG_SYSTEM : 0); si.applicationInfo = ai; si.enabled = true; si.packageName = "com.example.android.dummyime"; Loading