mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-18 18:28:20 +00:00
Merge "Adding tracing for workspace loading that never finishes" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8cf338148b
@@ -34,6 +34,7 @@ import com.android.launcher3.model.BgDataModel.FixedContainerItems;
|
||||
import com.android.launcher3.model.data.AppInfo;
|
||||
import com.android.launcher3.model.data.ItemInfo;
|
||||
import com.android.launcher3.model.data.LauncherAppWidgetInfo;
|
||||
import com.android.launcher3.testing.shared.TestProtocol;
|
||||
import com.android.launcher3.util.IntArray;
|
||||
import com.android.launcher3.util.IntSet;
|
||||
import com.android.launcher3.util.LooperExecutor;
|
||||
@@ -267,18 +268,33 @@ public abstract class BaseLauncherBinder {
|
||||
sortWorkspaceItemsSpatially(idp, currentWorkspaceItems);
|
||||
sortWorkspaceItemsSpatially(idp, otherWorkspaceItems);
|
||||
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "Before posting startBinding");
|
||||
}
|
||||
// Tell the workspace that we're about to start binding items
|
||||
executeCallbacksTask(c -> {
|
||||
c.clearPendingBinds();
|
||||
c.startBinding();
|
||||
}, mUiExecutor);
|
||||
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "1");
|
||||
}
|
||||
// Bind workspace screens
|
||||
executeCallbacksTask(c -> c.bindScreens(mOrderedScreenIds), mUiExecutor);
|
||||
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "2");
|
||||
}
|
||||
// Load items on the current page.
|
||||
bindWorkspaceItems(currentWorkspaceItems, mUiExecutor);
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "3");
|
||||
}
|
||||
bindAppWidgets(currentAppWidgets, mUiExecutor);
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "4");
|
||||
}
|
||||
if (!FeatureFlags.CHANGE_MODEL_DELEGATE_LOADING_ORDER.get()) {
|
||||
mExtraItems.forEach(item ->
|
||||
executeCallbacksTask(c -> c.bindExtraContainerItems(item), mUiExecutor));
|
||||
@@ -287,8 +303,18 @@ public abstract class BaseLauncherBinder {
|
||||
RunnableList pendingTasks = new RunnableList();
|
||||
Executor pendingExecutor = pendingTasks::add;
|
||||
bindWorkspaceItems(otherWorkspaceItems, pendingExecutor);
|
||||
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "5");
|
||||
}
|
||||
bindAppWidgets(otherAppWidgets, pendingExecutor);
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "6");
|
||||
}
|
||||
executeCallbacksTask(c -> c.finishBindingItems(currentScreenIds), pendingExecutor);
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "After posting finishBindingItems");
|
||||
}
|
||||
pendingExecutor.execute(
|
||||
() -> {
|
||||
MODEL_EXECUTOR.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT);
|
||||
|
||||
@@ -155,6 +155,7 @@ public final class TestProtocol {
|
||||
public static final String VIEW_AND_ACTIVITY_LEAKS = "b/260260325";
|
||||
public static final String WORK_TAB_MISSING = "b/243688989";
|
||||
public static final String TWO_TASKBAR_LONG_CLICKS = "b/262282528";
|
||||
public static final String WORKSPACE_LOADS_FOREVER = "b/267200150";
|
||||
|
||||
public static final String REQUEST_EMULATE_DISPLAY = "emulate-display";
|
||||
public static final String REQUEST_STOP_EMULATE_DISPLAY = "stop-emulate-display";
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.android.launcher3.InvariantDeviceProfile;
|
||||
import com.android.launcher3.celllayout.testcases.MultipleCellLayoutsSimpleReorder;
|
||||
import com.android.launcher3.tapl.Widget;
|
||||
import com.android.launcher3.tapl.WidgetResizeFrame;
|
||||
import com.android.launcher3.testing.shared.TestProtocol;
|
||||
import com.android.launcher3.ui.AbstractLauncherUiTest;
|
||||
import com.android.launcher3.ui.TaplTestsLauncher3;
|
||||
import com.android.launcher3.util.rule.ShellCommandRule;
|
||||
@@ -114,8 +115,11 @@ public class ReorderWidgets extends AbstractLauncherUiTest {
|
||||
// resetLoaderState triggers the launcher to start loading the workspace which allows
|
||||
// waitForLauncherCondition to wait for that condition, otherwise the condition would
|
||||
// always be true and it wouldn't wait for the changes to be applied.
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "before resetLoaderState");
|
||||
resetLoaderState();
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "after resetLoaderState");
|
||||
waitForLauncherCondition("Workspace didn't finish loading", l -> !l.isWorkspaceLoading());
|
||||
Log.d(TestProtocol.WORKSPACE_LOADS_FOREVER, "after waitForLauncherCondition");
|
||||
Widget widget = mLauncher.getWorkspace().getWidgetAtCell(mainWidgetCellPos.getCellX(),
|
||||
mainWidgetCellPos.getCellY());
|
||||
assertNotNull(widget);
|
||||
|
||||
Reference in New Issue
Block a user