Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52d50f9b authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Use InputMethodInfo.getSubtypeAt() to list all subtype in test

Change-Id: Ie42effc1c67870d70d0b6a5daed44b811063942b
parent 04df2bca
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.inputmethod.latin;

import com.android.inputmethod.keyboard.Keyboard;

public class InputLogicFrenchTests extends InputTestsBase {

    public void testAutoCorrectForFrench() {
+8 −5
Original line number Diff line number Diff line
@@ -138,17 +138,20 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
        final InputMethodManager imm = (InputMethodManager)mLatinIME.getSystemService(
                Context.INPUT_METHOD_SERVICE);
        final String packageName = mLatinIME.getPackageName();
        for (final InputMethodInfo imi : imm.getEnabledInputMethodList()) {
        // The IMEs and subtypes don't need to be enabled to run this test because IMF isn't
        // involved here.
        for (final InputMethodInfo imi : imm.getInputMethodList()) {
            if (imi.getPackageName().equals(packageName)) {
                for (final InputMethodSubtype ims :
                    imm.getEnabledInputMethodSubtypeList(imi, true)) {
                final int subtypeCount = imi.getSubtypeCount();
                for (int i = 0; i < subtypeCount; i++) {
                    final InputMethodSubtype ims = imi.getSubtypeAt(i);
                    final String locale = ims.getLocale();
                    mSubtypeMap.put(locale, ims);
                }
                return;
            }
        }
        fail("LatinIME is disabled");
        fail("LatinIME is not found");
    }

    // We need to run the messages added to the handler from LatinIME. The only way to do
@@ -176,7 +179,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIME> {
        // The only way to get out of Looper#loop() is to call #quit() on it (or on its queue).
        // Once #quit() is called remaining messages are not processed, which is why we post
        // a message that calls it instead of calling it directly.
        looper.loop();
        Looper.loop();

        // Once #quit() has been called, the message queue has an "mQuiting" field that prevents
        // any subsequent post in this queue. However the queue itself is still fully functional!