Merge "Fix lint warnings under services/tests/servicestests/src/com/android/server/inputmethod/" into sc-dev

This commit is contained in:
Yohei Yukawa
2021-03-11 04:22:00 +00:00
committed by Android (Google) Code Review
3 changed files with 54 additions and 55 deletions

View File

@@ -11,15 +11,15 @@
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License * limitations under the License.
*/ */
package com.android.server.inputmethod; package com.android.server.inputmethod;
import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.Display.INVALID_DISPLAY; import static android.view.Display.INVALID_DISPLAY;
import static android.view.WindowManager.DISPLAY_IME_POLICY_LOCAL;
import static android.view.WindowManager.DISPLAY_IME_POLICY_FALLBACK_DISPLAY; import static android.view.WindowManager.DISPLAY_IME_POLICY_FALLBACK_DISPLAY;
import static android.view.WindowManager.DISPLAY_IME_POLICY_LOCAL;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;

View File

@@ -177,10 +177,10 @@ public class InputMethodSubtypeSwitchingControllerTest {
private void assertRotationOrder(final ControllerImpl controller, private void assertRotationOrder(final ControllerImpl controller,
final boolean onlyCurrentIme, final boolean onlyCurrentIme,
final ImeSubtypeListItem... expectedRotationOrderOfImeSubtypeList) { final ImeSubtypeListItem... expectedRotationOrderOfImeSubtypeList) {
final int N = expectedRotationOrderOfImeSubtypeList.length; final int numItems = expectedRotationOrderOfImeSubtypeList.length;
for (int i = 0; i < N; i++) { for (int i = 0; i < numItems; i++) {
final int currentIndex = i; final int currentIndex = i;
final int nextIndex = (currentIndex + 1) % N; final int nextIndex = (currentIndex + 1) % numItems;
final ImeSubtypeListItem currentItem = final ImeSubtypeListItem currentItem =
expectedRotationOrderOfImeSubtypeList[currentIndex]; expectedRotationOrderOfImeSubtypeList[currentIndex];
final ImeSubtypeListItem nextItem = expectedRotationOrderOfImeSubtypeList[nextIndex]; final ImeSubtypeListItem nextItem = expectedRotationOrderOfImeSubtypeList[nextIndex];
@@ -200,47 +200,47 @@ public class InputMethodSubtypeSwitchingControllerTest {
@Test @Test
public void testControllerImpl() throws Exception { public void testControllerImpl() throws Exception {
final List<ImeSubtypeListItem> disabledItems = createDisabledImeSubtypes(); final List<ImeSubtypeListItem> disabledItems = createDisabledImeSubtypes();
final ImeSubtypeListItem disabledIme_en_US = disabledItems.get(0); final ImeSubtypeListItem disabledIme_en_us = disabledItems.get(0);
final ImeSubtypeListItem disabledIme_hi = disabledItems.get(1); final ImeSubtypeListItem disabledIme_hi = disabledItems.get(1);
final ImeSubtypeListItem disabledSwitchingUnawareIme = disabledItems.get(2); final ImeSubtypeListItem disabledSwitchingUnawareIme = disabledItems.get(2);
final ImeSubtypeListItem disabledSubtypeUnawareIme = disabledItems.get(3); final ImeSubtypeListItem disabledSubtypeUnawareIme = disabledItems.get(3);
final List<ImeSubtypeListItem> enabledItems = createEnabledImeSubtypes(); final List<ImeSubtypeListItem> enabledItems = createEnabledImeSubtypes();
final ImeSubtypeListItem latinIme_en_US = enabledItems.get(0); final ImeSubtypeListItem latinIme_en_us = enabledItems.get(0);
final ImeSubtypeListItem latinIme_fr = enabledItems.get(1); final ImeSubtypeListItem latinIme_fr = enabledItems.get(1);
final ImeSubtypeListItem switchingUnawarelatinIme_en_UK = enabledItems.get(2); final ImeSubtypeListItem switchingUnawareLatinIme_en_uk = enabledItems.get(2);
final ImeSubtypeListItem switchingUnawarelatinIme_hi = enabledItems.get(3); final ImeSubtypeListItem switchingUnawareLatinIme_hi = enabledItems.get(3);
final ImeSubtypeListItem subtypeUnawareIme = enabledItems.get(4); final ImeSubtypeListItem subtypeUnawareIme = enabledItems.get(4);
final ImeSubtypeListItem japaneseIme_ja_JP = enabledItems.get(5); final ImeSubtypeListItem japaneseIme_ja_jp = enabledItems.get(5);
final ImeSubtypeListItem switchUnawareJapaneseIme_ja_JP = enabledItems.get(6); final ImeSubtypeListItem switchUnawareJapaneseIme_ja_jp = enabledItems.get(6);
final ControllerImpl controller = ControllerImpl.createFrom( final ControllerImpl controller = ControllerImpl.createFrom(
null /* currentInstance */, enabledItems); null /* currentInstance */, enabledItems);
// switching-aware loop // switching-aware loop
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
latinIme_en_US, latinIme_fr, japaneseIme_ja_JP); latinIme_en_us, latinIme_fr, japaneseIme_ja_jp);
// switching-unaware loop // switching-unaware loop
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
switchingUnawarelatinIme_en_UK, switchingUnawarelatinIme_hi, subtypeUnawareIme, switchingUnawareLatinIme_en_uk, switchingUnawareLatinIme_hi, subtypeUnawareIme,
switchUnawareJapaneseIme_ja_JP); switchUnawareJapaneseIme_ja_jp);
// test onlyCurrentIme == true // test onlyCurrentIme == true
assertRotationOrder(controller, true /* onlyCurrentIme */, assertRotationOrder(controller, true /* onlyCurrentIme */,
latinIme_en_US, latinIme_fr); latinIme_en_us, latinIme_fr);
assertRotationOrder(controller, true /* onlyCurrentIme */, assertRotationOrder(controller, true /* onlyCurrentIme */,
switchingUnawarelatinIme_en_UK, switchingUnawarelatinIme_hi); switchingUnawareLatinIme_en_uk, switchingUnawareLatinIme_hi);
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
subtypeUnawareIme, null); subtypeUnawareIme, null);
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
japaneseIme_ja_JP, null); japaneseIme_ja_jp, null);
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
switchUnawareJapaneseIme_ja_JP, null); switchUnawareJapaneseIme_ja_jp, null);
// Make sure that disabled IMEs are not accepted. // Make sure that disabled IMEs are not accepted.
assertNextInputMethod(controller, false /* onlyCurrentIme */, assertNextInputMethod(controller, false /* onlyCurrentIme */,
disabledIme_en_US, null); disabledIme_en_us, null);
assertNextInputMethod(controller, false /* onlyCurrentIme */, assertNextInputMethod(controller, false /* onlyCurrentIme */,
disabledIme_hi, null); disabledIme_hi, null);
assertNextInputMethod(controller, false /* onlyCurrentIme */, assertNextInputMethod(controller, false /* onlyCurrentIme */,
@@ -248,7 +248,7 @@ public class InputMethodSubtypeSwitchingControllerTest {
assertNextInputMethod(controller, false /* onlyCurrentIme */, assertNextInputMethod(controller, false /* onlyCurrentIme */,
disabledSubtypeUnawareIme, null); disabledSubtypeUnawareIme, null);
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
disabledIme_en_US, null); disabledIme_en_us, null);
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
disabledIme_hi, null); disabledIme_hi, null);
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
@@ -260,82 +260,82 @@ public class InputMethodSubtypeSwitchingControllerTest {
@Test @Test
public void testControllerImplWithUserAction() throws Exception { public void testControllerImplWithUserAction() throws Exception {
final List<ImeSubtypeListItem> enabledItems = createEnabledImeSubtypes(); final List<ImeSubtypeListItem> enabledItems = createEnabledImeSubtypes();
final ImeSubtypeListItem latinIme_en_US = enabledItems.get(0); final ImeSubtypeListItem latinIme_en_us = enabledItems.get(0);
final ImeSubtypeListItem latinIme_fr = enabledItems.get(1); final ImeSubtypeListItem latinIme_fr = enabledItems.get(1);
final ImeSubtypeListItem switchingUnawarelatinIme_en_UK = enabledItems.get(2); final ImeSubtypeListItem switchingUnawarelatinIme_en_uk = enabledItems.get(2);
final ImeSubtypeListItem switchingUnawarelatinIme_hi = enabledItems.get(3); final ImeSubtypeListItem switchingUnawarelatinIme_hi = enabledItems.get(3);
final ImeSubtypeListItem subtypeUnawareIme = enabledItems.get(4); final ImeSubtypeListItem subtypeUnawareIme = enabledItems.get(4);
final ImeSubtypeListItem japaneseIme_ja_JP = enabledItems.get(5); final ImeSubtypeListItem japaneseIme_ja_jp = enabledItems.get(5);
final ImeSubtypeListItem switchUnawareJapaneseIme_ja_JP = enabledItems.get(6); final ImeSubtypeListItem switchUnawareJapaneseIme_ja_jp = enabledItems.get(6);
final ControllerImpl controller = ControllerImpl.createFrom( final ControllerImpl controller = ControllerImpl.createFrom(
null /* currentInstance */, enabledItems); null /* currentInstance */, enabledItems);
// === switching-aware loop === // === switching-aware loop ===
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
latinIme_en_US, latinIme_fr, japaneseIme_ja_JP); latinIme_en_us, latinIme_fr, japaneseIme_ja_jp);
// Then notify that a user did something for latinIme_fr. // Then notify that a user did something for latinIme_fr.
onUserAction(controller, latinIme_fr); onUserAction(controller, latinIme_fr);
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
latinIme_fr, latinIme_en_US, japaneseIme_ja_JP); latinIme_fr, latinIme_en_us, japaneseIme_ja_jp);
// Then notify that a user did something for latinIme_fr again. // Then notify that a user did something for latinIme_fr again.
onUserAction(controller, latinIme_fr); onUserAction(controller, latinIme_fr);
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
latinIme_fr, latinIme_en_US, japaneseIme_ja_JP); latinIme_fr, latinIme_en_us, japaneseIme_ja_jp);
// Then notify that a user did something for japaneseIme_ja_JP. // Then notify that a user did something for japaneseIme_ja_JP.
onUserAction(controller, latinIme_fr); onUserAction(controller, latinIme_fr);
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
japaneseIme_ja_JP, latinIme_fr, latinIme_en_US); japaneseIme_ja_jp, latinIme_fr, latinIme_en_us);
// Check onlyCurrentIme == true. // Check onlyCurrentIme == true.
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
japaneseIme_ja_JP, null); japaneseIme_ja_jp, null);
assertRotationOrder(controller, true /* onlyCurrentIme */, assertRotationOrder(controller, true /* onlyCurrentIme */,
latinIme_fr, latinIme_en_US); latinIme_fr, latinIme_en_us);
assertRotationOrder(controller, true /* onlyCurrentIme */, assertRotationOrder(controller, true /* onlyCurrentIme */,
latinIme_en_US, latinIme_fr); latinIme_en_us, latinIme_fr);
// === switching-unaware loop === // === switching-unaware loop ===
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
switchingUnawarelatinIme_en_UK, switchingUnawarelatinIme_hi, subtypeUnawareIme, switchingUnawarelatinIme_en_uk, switchingUnawarelatinIme_hi, subtypeUnawareIme,
switchUnawareJapaneseIme_ja_JP); switchUnawareJapaneseIme_ja_jp);
// User action should be ignored for switching unaware IMEs. // User action should be ignored for switching unaware IMEs.
onUserAction(controller, switchingUnawarelatinIme_hi); onUserAction(controller, switchingUnawarelatinIme_hi);
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
switchingUnawarelatinIme_en_UK, switchingUnawarelatinIme_hi, subtypeUnawareIme, switchingUnawarelatinIme_en_uk, switchingUnawarelatinIme_hi, subtypeUnawareIme,
switchUnawareJapaneseIme_ja_JP); switchUnawareJapaneseIme_ja_jp);
// User action should be ignored for switching unaware IMEs. // User action should be ignored for switching unaware IMEs.
onUserAction(controller, switchUnawareJapaneseIme_ja_JP); onUserAction(controller, switchUnawareJapaneseIme_ja_jp);
assertRotationOrder(controller, false /* onlyCurrentIme */, assertRotationOrder(controller, false /* onlyCurrentIme */,
switchingUnawarelatinIme_en_UK, switchingUnawarelatinIme_hi, subtypeUnawareIme, switchingUnawarelatinIme_en_uk, switchingUnawarelatinIme_hi, subtypeUnawareIme,
switchUnawareJapaneseIme_ja_JP); switchUnawareJapaneseIme_ja_jp);
// Check onlyCurrentIme == true. // Check onlyCurrentIme == true.
assertRotationOrder(controller, true /* onlyCurrentIme */, assertRotationOrder(controller, true /* onlyCurrentIme */,
switchingUnawarelatinIme_en_UK, switchingUnawarelatinIme_hi); switchingUnawarelatinIme_en_uk, switchingUnawarelatinIme_hi);
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
subtypeUnawareIme, null); subtypeUnawareIme, null);
assertNextInputMethod(controller, true /* onlyCurrentIme */, assertNextInputMethod(controller, true /* onlyCurrentIme */,
switchUnawareJapaneseIme_ja_JP, null); switchUnawareJapaneseIme_ja_jp, null);
// Rotation order should be preserved when created with the same subtype list. // Rotation order should be preserved when created with the same subtype list.
final List<ImeSubtypeListItem> sameEnabledItems = createEnabledImeSubtypes(); final List<ImeSubtypeListItem> sameEnabledItems = createEnabledImeSubtypes();
final ControllerImpl newController = ControllerImpl.createFrom(controller, final ControllerImpl newController = ControllerImpl.createFrom(controller,
sameEnabledItems); sameEnabledItems);
assertRotationOrder(newController, false /* onlyCurrentIme */, assertRotationOrder(newController, false /* onlyCurrentIme */,
japaneseIme_ja_JP, latinIme_fr, latinIme_en_US); japaneseIme_ja_jp, latinIme_fr, latinIme_en_us);
assertRotationOrder(newController, false /* onlyCurrentIme */, assertRotationOrder(newController, false /* onlyCurrentIme */,
switchingUnawarelatinIme_en_UK, switchingUnawarelatinIme_hi, subtypeUnawareIme, switchingUnawarelatinIme_en_uk, switchingUnawarelatinIme_hi, subtypeUnawareIme,
switchUnawareJapaneseIme_ja_JP); switchUnawareJapaneseIme_ja_jp);
// Rotation order should be initialized when created with a different subtype list. // Rotation order should be initialized when created with a different subtype list.
final List<ImeSubtypeListItem> differentEnabledItems = Arrays.asList( final List<ImeSubtypeListItem> differentEnabledItems = Arrays.asList(
latinIme_en_US, latinIme_fr, switchingUnawarelatinIme_en_UK, latinIme_en_us, latinIme_fr, switchingUnawarelatinIme_en_uk,
switchUnawareJapaneseIme_ja_JP); switchUnawareJapaneseIme_ja_jp);
final ControllerImpl anotherController = ControllerImpl.createFrom(controller, final ControllerImpl anotherController = ControllerImpl.createFrom(controller,
differentEnabledItems); differentEnabledItems);
assertRotationOrder(anotherController, false /* onlyCurrentIme */, assertRotationOrder(anotherController, false /* onlyCurrentIme */,
latinIme_en_US, latinIme_fr); latinIme_en_us, latinIme_fr);
assertRotationOrder(anotherController, false /* onlyCurrentIme */, assertRotationOrder(anotherController, false /* onlyCurrentIme */,
switchingUnawarelatinIme_en_UK, switchUnawareJapaneseIme_ja_JP); switchingUnawarelatinIme_en_uk, switchUnawareJapaneseIme_ja_jp);
} }
@Test @Test
@@ -344,27 +344,27 @@ public class InputMethodSubtypeSwitchingControllerTest {
addDummyImeSubtypeListItems(items, "LatinIme", "LatinIme", addDummyImeSubtypeListItems(items, "LatinIme", "LatinIme",
Arrays.asList("en_US", "fr", "en", "en_uk", "enn", "e", "EN_US"), Arrays.asList("en_US", "fr", "en", "en_uk", "enn", "e", "EN_US"),
true /* supportsSwitchingToNextInputMethod*/); true /* supportsSwitchingToNextInputMethod*/);
final ImeSubtypeListItem item_en_US = items.get(0); final ImeSubtypeListItem item_en_us = items.get(0);
final ImeSubtypeListItem item_fr = items.get(1); final ImeSubtypeListItem item_fr = items.get(1);
final ImeSubtypeListItem item_en = items.get(2); final ImeSubtypeListItem item_en = items.get(2);
final ImeSubtypeListItem item_enn = items.get(3); final ImeSubtypeListItem item_enn = items.get(3);
final ImeSubtypeListItem item_e = items.get(4); final ImeSubtypeListItem item_e = items.get(4);
final ImeSubtypeListItem item_EN_US = items.get(5); final ImeSubtypeListItem item_en_us_allcaps = items.get(5);
assertTrue(item_en_US.mIsSystemLocale); assertTrue(item_en_us.mIsSystemLocale);
assertFalse(item_fr.mIsSystemLocale); assertFalse(item_fr.mIsSystemLocale);
assertFalse(item_en.mIsSystemLocale); assertFalse(item_en.mIsSystemLocale);
assertFalse(item_en.mIsSystemLocale); assertFalse(item_en.mIsSystemLocale);
assertFalse(item_enn.mIsSystemLocale); assertFalse(item_enn.mIsSystemLocale);
assertFalse(item_e.mIsSystemLocale); assertFalse(item_e.mIsSystemLocale);
assertFalse(item_EN_US.mIsSystemLocale); assertFalse(item_en_us_allcaps.mIsSystemLocale);
assertTrue(item_en_US.mIsSystemLanguage); assertTrue(item_en_us.mIsSystemLanguage);
assertFalse(item_fr.mIsSystemLanguage); assertFalse(item_fr.mIsSystemLanguage);
assertTrue(item_en.mIsSystemLanguage); assertTrue(item_en.mIsSystemLanguage);
assertFalse(item_enn.mIsSystemLocale); assertFalse(item_enn.mIsSystemLocale);
assertFalse(item_e.mIsSystemLocale); assertFalse(item_e.mIsSystemLocale);
assertFalse(item_EN_US.mIsSystemLocale); assertFalse(item_en_us_allcaps.mIsSystemLocale);
} }
@Test @Test

View File

@@ -60,6 +60,7 @@ public class InputMethodUtilsTest {
private static final boolean IS_OVERRIDES_IMPLICITLY_ENABLED_SUBTYPE = true; private static final boolean IS_OVERRIDES_IMPLICITLY_ENABLED_SUBTYPE = true;
private static final boolean IS_ASCII_CAPABLE = true; private static final boolean IS_ASCII_CAPABLE = true;
private static final boolean IS_ENABLED_WHEN_DEFAULT_IS_NOT_ASCII_CAPABLE = true; private static final boolean IS_ENABLED_WHEN_DEFAULT_IS_NOT_ASCII_CAPABLE = true;
private static final boolean CHECK_COUNTRY = true;
private static final Locale LOCALE_EN = new Locale("en"); private static final Locale LOCALE_EN = new Locale("en");
private static final Locale LOCALE_EN_US = new Locale("en", "US"); private static final Locale LOCALE_EN_US = new Locale("en", "US");
private static final Locale LOCALE_EN_GB = new Locale("en", "GB"); private static final Locale LOCALE_EN_GB = new Locale("en", "GB");
@@ -668,8 +669,6 @@ public class InputMethodUtilsTest {
SUBTYPE_MODE_KEYBOARD, !IS_AUX, !IS_OVERRIDES_IMPLICITLY_ENABLED_SUBTYPE, SUBTYPE_MODE_KEYBOARD, !IS_AUX, !IS_OVERRIDES_IMPLICITLY_ENABLED_SUBTYPE,
IS_ASCII_CAPABLE, IS_ENABLED_WHEN_DEFAULT_IS_NOT_ASCII_CAPABLE); IS_ASCII_CAPABLE, IS_ENABLED_WHEN_DEFAULT_IS_NOT_ASCII_CAPABLE);
final boolean CHECK_COUNTRY = true;
{ {
final ArrayList<InputMethodSubtype> subtypes = new ArrayList<>(); final ArrayList<InputMethodSubtype> subtypes = new ArrayList<>();
subtypes.add(nonAutoEnUS); subtypes.add(nonAutoEnUS);