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 com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Color;
@ -28,6 +30,9 @@ import android.view.View;
import androidx.annotation.Keep;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.LauncherSettings;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
@ -165,6 +170,14 @@ public class DebugTestInformationHandler extends TestInformationHandler {
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:
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_GET_TEST_EVENTS = "get-test-events";
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 final String REQUEST_ENABLE_DEBUG_TRACING = "enable-debug-tracing";

View File

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

View File

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