diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java index e0df3f07be..3986df6508 100644 --- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java @@ -239,7 +239,7 @@ public final class LauncherInstrumentation { // Launcher package. As during inproc tests the tested launcher may not be selected as the // current launcher, choosing target package for inproc. For out-of-proc, use the installed // launcher package. - mLauncherPackage = testPackage.equals(targetPackage) + mLauncherPackage = testPackage.equals(targetPackage) || isGradleInstrumentation() ? getLauncherPackageName() : targetPackage; @@ -286,6 +286,20 @@ public final class LauncherInstrumentation { } } + /** + * Gradle only supports out of process instrumentation. The test package is automatically + * generated by appending `.test` to the target package. + */ + private boolean isGradleInstrumentation() { + final String testPackage = getContext().getPackageName(); + final String targetPackage = mInstrumentation.getTargetContext().getPackageName(); + final String testSuffix = ".test"; + + return testPackage.endsWith(testSuffix) && testPackage.length() > testSuffix.length() + && testPackage.substring(0, testPackage.length() - testSuffix.length()) + .equals(targetPackage); + } + public void enableCheckEventsForSuccessfulGestures() { mCheckEventsForSuccessfulGestures = true; }