Correctly restarting Launcher from OOP tests
Waiting for touch interaction service; waiting for package-restart events. Bug: 136215685 Change-Id: I0c31c09fe3a58b898168dfdb4e4d23757b94a47c
This commit is contained in:
parent
f11dd8e107
commit
853852351f
|
@ -185,4 +185,8 @@ public class TouchInteractionService extends Service {
|
||||||
}
|
}
|
||||||
return mMyBinder;
|
return mMyBinder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isInputMonitorInitialized() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,12 +226,17 @@ public class TouchInteractionService extends Service implements
|
||||||
};
|
};
|
||||||
|
|
||||||
private static boolean sConnected = false;
|
private static boolean sConnected = false;
|
||||||
|
private static boolean sInputMonitorInitialized = false;
|
||||||
private static final SwipeSharedState sSwipeSharedState = new SwipeSharedState();
|
private static final SwipeSharedState sSwipeSharedState = new SwipeSharedState();
|
||||||
|
|
||||||
public static boolean isConnected() {
|
public static boolean isConnected() {
|
||||||
return sConnected;
|
return sConnected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isInputMonitorInitialized() {
|
||||||
|
return sInputMonitorInitialized;
|
||||||
|
}
|
||||||
|
|
||||||
public static SwipeSharedState getSwipeSharedState() {
|
public static SwipeSharedState getSwipeSharedState() {
|
||||||
return sSwipeSharedState;
|
return sSwipeSharedState;
|
||||||
}
|
}
|
||||||
|
@ -325,6 +330,7 @@ public class TouchInteractionService extends Service implements
|
||||||
mInputMonitorCompat.dispose();
|
mInputMonitorCompat.dispose();
|
||||||
mInputMonitorCompat = null;
|
mInputMonitorCompat = null;
|
||||||
}
|
}
|
||||||
|
sInputMonitorInitialized = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initInputMonitor() {
|
private void initInputMonitor() {
|
||||||
|
@ -342,6 +348,7 @@ public class TouchInteractionService extends Service implements
|
||||||
Log.e(TAG, "Unable to create input monitor", e);
|
Log.e(TAG, "Unable to create input monitor", e);
|
||||||
}
|
}
|
||||||
initTouchBounds();
|
initTouchBounds();
|
||||||
|
sInputMonitorInitialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getNavbarSize(String resName) {
|
private int getNavbarSize(String resName) {
|
||||||
|
|
|
@ -10,7 +10,8 @@ import com.android.quickstep.util.LayoutUtils;
|
||||||
|
|
||||||
public class QuickstepTestInformationHandler extends TestInformationHandler {
|
public class QuickstepTestInformationHandler extends TestInformationHandler {
|
||||||
|
|
||||||
public QuickstepTestInformationHandler(Context context) { }
|
public QuickstepTestInformationHandler(Context context) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Bundle call(String method) {
|
public Bundle call(String method) {
|
||||||
|
@ -29,6 +30,12 @@ public class QuickstepTestInformationHandler extends TestInformationHandler {
|
||||||
response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, (int) swipeHeight);
|
response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, (int) swipeHeight);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case TestProtocol.REQUEST_IS_LAUNCHER_INITIALIZED: {
|
||||||
|
response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD,
|
||||||
|
TouchInteractionService.isInputMonitorInitialized());
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.call(method);
|
return super.call(method);
|
||||||
|
|
|
@ -74,6 +74,11 @@ public class TestInformationHandler implements ResourceBasedOverride {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case TestProtocol.REQUEST_IS_LAUNCHER_INITIALIZED: {
|
||||||
|
response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case TestProtocol.REQUEST_ENABLE_DEBUG_TRACING:
|
case TestProtocol.REQUEST_ENABLE_DEBUG_TRACING:
|
||||||
TestProtocol.sDebugTracing = true;
|
TestProtocol.sDebugTracing = true;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -66,6 +66,7 @@ public final class TestProtocol {
|
||||||
"all-apps-to-overview-swipe-height";
|
"all-apps-to-overview-swipe-height";
|
||||||
public static final String REQUEST_HOME_TO_ALL_APPS_SWIPE_HEIGHT =
|
public static final String REQUEST_HOME_TO_ALL_APPS_SWIPE_HEIGHT =
|
||||||
"home-to-all-apps-swipe-height";
|
"home-to-all-apps-swipe-height";
|
||||||
|
public static final String REQUEST_IS_LAUNCHER_INITIALIZED = "is-launcher-initialized";
|
||||||
public static final String REQUEST_FREEZE_APP_LIST = "freeze-app-list";
|
public static final String REQUEST_FREEZE_APP_LIST = "freeze-app-list";
|
||||||
public static final String REQUEST_UNFREEZE_APP_LIST = "unfreeze-app-list";
|
public static final String REQUEST_UNFREEZE_APP_LIST = "unfreeze-app-list";
|
||||||
public static final String REQUEST_APP_LIST_FREEZE_FLAGS = "app-list-freeze-flags";
|
public static final String REQUEST_APP_LIST_FREEZE_FLAGS = "app-list-freeze-flags";
|
||||||
|
|
|
@ -444,6 +444,8 @@ public final class LauncherInstrumentation {
|
||||||
}
|
}
|
||||||
|
|
||||||
private UiObject2 verifyContainerType(ContainerType containerType) {
|
private UiObject2 verifyContainerType(ContainerType containerType) {
|
||||||
|
waitForTouchInteractionService();
|
||||||
|
|
||||||
assertEquals("Unexpected display rotation",
|
assertEquals("Unexpected display rotation",
|
||||||
mExpectedRotation, mDevice.getDisplayRotation());
|
mExpectedRotation, mDevice.getDisplayRotation());
|
||||||
|
|
||||||
|
@ -514,6 +516,18 @@ public final class LauncherInstrumentation {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void waitForTouchInteractionService() {
|
||||||
|
for (int i = 0; i < 100; ++i) {
|
||||||
|
if (getTestInfo(
|
||||||
|
TestProtocol.REQUEST_IS_LAUNCHER_INITIALIZED).
|
||||||
|
getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SystemClock.sleep(100);
|
||||||
|
}
|
||||||
|
fail("TouchInteractionService didn't connect");
|
||||||
|
}
|
||||||
|
|
||||||
Parcelable executeAndWaitForEvent(Runnable command,
|
Parcelable executeAndWaitForEvent(Runnable command,
|
||||||
UiAutomation.AccessibilityEventFilter eventFilter, String message) {
|
UiAutomation.AccessibilityEventFilter eventFilter, String message) {
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Reference in New Issue