Eliminating messages that launcher activity is frozen

They were ultimately caused by killing Launcher process from tests.

Now having a test info handler request to clear db.

Bug: 152629799
Change-Id: Ia81ddc3e338718c4cff08c7396b9fda1b7091024
This commit is contained in:
vadimt 2020-06-22 15:01:49 -07:00
parent 21cea8e55c
commit 839fb7b3ae
4 changed files with 21 additions and 11 deletions

View File

@ -18,6 +18,8 @@ package com.android.launcher3.testing;
import static android.graphics.Bitmap.Config.ARGB_8888; import static android.graphics.Bitmap.Config.ARGB_8888;
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Color; import android.graphics.Color;
@ -28,6 +30,9 @@ import android.view.View;
import androidx.annotation.Keep; import androidx.annotation.Keep;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.LauncherSettings;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedList; import java.util.LinkedList;
@ -165,6 +170,14 @@ public class DebugTestInformationHandler extends TestInformationHandler {
return response; return response;
} }
case TestProtocol.REQUEST_CLEAR_DATA: {
LauncherSettings.Settings.call(mContext.getContentResolver(),
LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB);
MAIN_EXECUTOR.submit(() ->
LauncherAppState.getInstance(mContext).getModel().forceReload());
return response;
}
default: default:
return super.call(method); return super.call(method);
} }

View File

@ -91,6 +91,7 @@ public final class TestProtocol {
public static final String REQUEST_START_EVENT_LOGGING = "start-event-logging"; public static final String REQUEST_START_EVENT_LOGGING = "start-event-logging";
public static final String REQUEST_GET_TEST_EVENTS = "get-test-events"; public static final String REQUEST_GET_TEST_EVENTS = "get-test-events";
public static final String REQUEST_STOP_EVENT_LOGGING = "stop-event-logging"; public static final String REQUEST_STOP_EVENT_LOGGING = "stop-event-logging";
public static final String REQUEST_CLEAR_DATA = "clear-data";
public static boolean sDebugTracing = false; public static boolean sDebugTracing = false;
public static final String REQUEST_ENABLE_DEBUG_TRACING = "enable-debug-tracing"; public static final String REQUEST_ENABLE_DEBUG_TRACING = "enable-debug-tracing";

View File

@ -300,17 +300,9 @@ public abstract class AbstractLauncherUiTest {
checkDetectedLeaks(mLauncher); checkDetectedLeaks(mLauncher);
} }
protected void clearLauncherData() throws IOException, InterruptedException { protected void clearLauncherData() {
if (TestHelpers.isInLauncherProcess()) { mLauncher.clearLauncherData();
LauncherSettings.Settings.call(mTargetContext.getContentResolver(), mLauncher.waitForLauncherInitialized();
LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB);
resetLoaderState();
} else {
clearPackageData(mDevice.getLauncherPackageName());
mLauncher.enableDebugTracing();
mLauncherPid = mLauncher.getPid();
mLauncher.waitForLauncherInitialized();
}
} }
/** /**

View File

@ -1335,6 +1335,10 @@ public final class LauncherInstrumentation {
return tasks; return tasks;
} }
public void clearLauncherData() {
getTestInfo(TestProtocol.REQUEST_CLEAR_DATA);
}
public Closable eventsCheck() { public Closable eventsCheck() {
Assert.assertTrue("Nested event checking", mEventChecker == null); Assert.assertTrue("Nested event checking", mEventChecker == null);
disableSensorRotation(); disableSensorRotation();