Loading services/tests/InputMethodSystemServerTests/Android.bp +11 −10 Original line number Diff line number Diff line Loading @@ -34,24 +34,24 @@ android_test { static_libs: [ "androidx.test.core", "androidx.test.runner", "androidx.test.espresso.core", "androidx.test.espresso.contrib", "androidx.test.espresso.core", "androidx.test.ext.truth", "androidx.test.runner", "frameworks-base-testutils", "mockito-target-extended-minus-junit4", "platform-test-annotations", "ravenwood-junit", "services.core", "service-permission.stubs.system_server", "services.core", "servicestests-core-utils", "servicestests-utils-mockito-extended", "truth", ], libs: [ "android.test.mock.stubs.system", "android.test.base.stubs.system", "android.test.mock.stubs.system", "android.test.runner.stubs.system", ], Loading Loading @@ -103,27 +103,28 @@ android_test { test_config: "src/com/android/inputmethodservice/AndroidTest.xml", static_libs: [ "SimpleImeImsLib", "SimpleImeTestingLib", "androidx.test.core", "androidx.test.runner", "androidx.test.espresso.core", "androidx.test.espresso.contrib", "androidx.test.espresso.core", "androidx.test.ext.truth", "androidx.test.runner", "cts-wm-util", "frameworks-base-testutils", "mockito-target-extended-minus-junit4", "platform-test-annotations", "ravenwood-junit", "services.core", "service-permission.stubs.system_server", "services.core", "servicestests-core-utils", "servicestests-utils-mockito-extended", "truth", "SimpleImeTestingLib", "SimpleImeImsLib", ], libs: [ "android.test.mock.stubs.system", "android.test.base.stubs.system", "android.test.mock.stubs.system", "android.test.runner.stubs.system", ], Loading services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.platform.test.annotations.RequiresFlagsDisabled; import android.platform.test.flag.junit.CheckFlagsRule; import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.provider.Settings; import android.server.wm.WindowManagerStateHelper; import android.util.Log; import android.view.WindowManagerGlobal; import android.view.WindowManagerPolicyConstants; Loading @@ -63,6 +64,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; import org.junit.runner.RunWith; import java.util.Objects; Loading @@ -86,11 +88,16 @@ public class InputMethodServiceTest { private static final String DISABLE_SHOW_IME_WITH_HARD_KEYBOARD_CMD = "settings put secure " + Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD + " 0"; private final WindowManagerStateHelper mWmState = new WindowManagerStateHelper(); private final DeviceFlagsValueProvider mFlagsValueProvider = new DeviceFlagsValueProvider(); @Rule public final CheckFlagsRule mCheckFlagsRule = new CheckFlagsRule(mFlagsValueProvider); @Rule public final TestName mName = new TestName(); private Instrumentation mInstrumentation; private UiDevice mUiDevice; private Context mContext; Loading Loading @@ -154,6 +161,8 @@ public class InputMethodServiceTest { */ @Test public void testShowHideKeyboard_byUserAction() { waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); // Performs click on EditText to bring up the IME. Loading Loading @@ -867,6 +876,8 @@ public class InputMethodServiceTest { assumeTrue("Must have a navigation bar", hasNavigationBar()); assumeTrue("Must be in gesture navigation mode", isGestureNavEnabled()); waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); verifyInputViewStatusOnMainSync( Loading Loading @@ -901,6 +912,8 @@ public class InputMethodServiceTest { assumeTrue("Must have a navigation bar", hasNavigationBar()); assumeTrue("Must be in gesture navigation mode", isGestureNavEnabled()); waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); verifyInputViewStatusOnMainSync( Loading Loading @@ -936,6 +949,8 @@ public class InputMethodServiceTest { assumeTrue("Must have a navigation bar", hasNavigationBar()); assumeTrue("Must be in gesture navigation mode", isGestureNavEnabled()); waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); verifyInputViewStatusOnMainSync( Loading Loading @@ -974,6 +989,8 @@ public class InputMethodServiceTest { assumeTrue("Must have a navigation bar", hasNavigationBar()); assumeTrue("Must be in gesture navigation mode", isGestureNavEnabled()); waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); verifyInputViewStatusOnMainSync( Loading Loading @@ -1143,6 +1160,15 @@ public class InputMethodServiceTest { Log.i(TAG, "Finish preparing activity with editor."); } private void waitUntilActivityReadyForInputInjection(@NonNull TestActivity activity) { try { mWmState.waitUntilActivityReadyForInputInjection(activity, mInstrumentation, TAG, "test: " + mName.getMethodName()); } catch (InterruptedException e) { fail("Interrupted while waiting for activity to be ready: " + e.getMessage()); } } @NonNull private String getInputMethodId() { return mTargetPackageName + "/" + INPUT_METHOD_SERVICE_NAME; Loading Loading
services/tests/InputMethodSystemServerTests/Android.bp +11 −10 Original line number Diff line number Diff line Loading @@ -34,24 +34,24 @@ android_test { static_libs: [ "androidx.test.core", "androidx.test.runner", "androidx.test.espresso.core", "androidx.test.espresso.contrib", "androidx.test.espresso.core", "androidx.test.ext.truth", "androidx.test.runner", "frameworks-base-testutils", "mockito-target-extended-minus-junit4", "platform-test-annotations", "ravenwood-junit", "services.core", "service-permission.stubs.system_server", "services.core", "servicestests-core-utils", "servicestests-utils-mockito-extended", "truth", ], libs: [ "android.test.mock.stubs.system", "android.test.base.stubs.system", "android.test.mock.stubs.system", "android.test.runner.stubs.system", ], Loading Loading @@ -103,27 +103,28 @@ android_test { test_config: "src/com/android/inputmethodservice/AndroidTest.xml", static_libs: [ "SimpleImeImsLib", "SimpleImeTestingLib", "androidx.test.core", "androidx.test.runner", "androidx.test.espresso.core", "androidx.test.espresso.contrib", "androidx.test.espresso.core", "androidx.test.ext.truth", "androidx.test.runner", "cts-wm-util", "frameworks-base-testutils", "mockito-target-extended-minus-junit4", "platform-test-annotations", "ravenwood-junit", "services.core", "service-permission.stubs.system_server", "services.core", "servicestests-core-utils", "servicestests-utils-mockito-extended", "truth", "SimpleImeTestingLib", "SimpleImeImsLib", ], libs: [ "android.test.mock.stubs.system", "android.test.base.stubs.system", "android.test.mock.stubs.system", "android.test.runner.stubs.system", ], Loading
services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.platform.test.annotations.RequiresFlagsDisabled; import android.platform.test.flag.junit.CheckFlagsRule; import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.provider.Settings; import android.server.wm.WindowManagerStateHelper; import android.util.Log; import android.view.WindowManagerGlobal; import android.view.WindowManagerPolicyConstants; Loading @@ -63,6 +64,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; import org.junit.runner.RunWith; import java.util.Objects; Loading @@ -86,11 +88,16 @@ public class InputMethodServiceTest { private static final String DISABLE_SHOW_IME_WITH_HARD_KEYBOARD_CMD = "settings put secure " + Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD + " 0"; private final WindowManagerStateHelper mWmState = new WindowManagerStateHelper(); private final DeviceFlagsValueProvider mFlagsValueProvider = new DeviceFlagsValueProvider(); @Rule public final CheckFlagsRule mCheckFlagsRule = new CheckFlagsRule(mFlagsValueProvider); @Rule public final TestName mName = new TestName(); private Instrumentation mInstrumentation; private UiDevice mUiDevice; private Context mContext; Loading Loading @@ -154,6 +161,8 @@ public class InputMethodServiceTest { */ @Test public void testShowHideKeyboard_byUserAction() { waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); // Performs click on EditText to bring up the IME. Loading Loading @@ -867,6 +876,8 @@ public class InputMethodServiceTest { assumeTrue("Must have a navigation bar", hasNavigationBar()); assumeTrue("Must be in gesture navigation mode", isGestureNavEnabled()); waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); verifyInputViewStatusOnMainSync( Loading Loading @@ -901,6 +912,8 @@ public class InputMethodServiceTest { assumeTrue("Must have a navigation bar", hasNavigationBar()); assumeTrue("Must be in gesture navigation mode", isGestureNavEnabled()); waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); verifyInputViewStatusOnMainSync( Loading Loading @@ -936,6 +949,8 @@ public class InputMethodServiceTest { assumeTrue("Must have a navigation bar", hasNavigationBar()); assumeTrue("Must be in gesture navigation mode", isGestureNavEnabled()); waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); verifyInputViewStatusOnMainSync( Loading Loading @@ -974,6 +989,8 @@ public class InputMethodServiceTest { assumeTrue("Must have a navigation bar", hasNavigationBar()); assumeTrue("Must be in gesture navigation mode", isGestureNavEnabled()); waitUntilActivityReadyForInputInjection(mActivity); setShowImeWithHardKeyboard(true /* enabled */); verifyInputViewStatusOnMainSync( Loading Loading @@ -1143,6 +1160,15 @@ public class InputMethodServiceTest { Log.i(TAG, "Finish preparing activity with editor."); } private void waitUntilActivityReadyForInputInjection(@NonNull TestActivity activity) { try { mWmState.waitUntilActivityReadyForInputInjection(activity, mInstrumentation, TAG, "test: " + mName.getMethodName()); } catch (InterruptedException e) { fail("Interrupted while waiting for activity to be ready: " + e.getMessage()); } } @NonNull private String getInputMethodId() { return mTargetPackageName + "/" + INPUT_METHOD_SERVICE_NAME; Loading