Add debug logs to debug flaky workspace binding
Bug: 270216650 Test: ReorderWidgets Change-Id: I6fa2eab98c0268000ef4c44980c2917d5ef1bc89
This commit is contained in:
parent
3d103192b5
commit
6b94a960c0
|
@ -1877,6 +1877,9 @@ public class Launcher extends StatefulActivity<LauncherState>
|
|||
}
|
||||
|
||||
private void setWorkspaceLoading(boolean value) {
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.FLAKY_BINDING, "running: setWorkspaceLoading=" + value);
|
||||
}
|
||||
mWorkspaceLoading = value;
|
||||
}
|
||||
|
||||
|
@ -2323,6 +2326,9 @@ public class Launcher extends StatefulActivity<LauncherState>
|
|||
*/
|
||||
public void startBinding() {
|
||||
Object traceToken = TraceHelper.INSTANCE.beginSection("startBinding");
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.FLAKY_BINDING, "running: startBinding");
|
||||
}
|
||||
// Floating panels (except the full widget sheet) are associated with individual icons. If
|
||||
// we are starting a fresh bind, close all such panels as all the icons are about
|
||||
// to go away.
|
||||
|
@ -2795,6 +2801,9 @@ public class Launcher extends StatefulActivity<LauncherState>
|
|||
*/
|
||||
public void finishBindingItems(IntSet pagesBoundFirst) {
|
||||
Object traceToken = TraceHelper.INSTANCE.beginSection("finishBindingItems");
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.FLAKY_BINDING, "running: finishBindingItems");
|
||||
}
|
||||
mWorkspace.restoreInstanceStateForRemainingPages();
|
||||
|
||||
setWorkspaceLoading(false);
|
||||
|
|
|
@ -246,6 +246,9 @@ public abstract class BaseLauncherBinder {
|
|||
sortWorkspaceItemsSpatially(idp, otherWorkspaceItems);
|
||||
|
||||
// Tell the workspace that we're about to start binding items
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.FLAKY_BINDING, "scheduling: startBinding");
|
||||
}
|
||||
executeCallbacksTask(c -> {
|
||||
c.clearPendingBinds();
|
||||
c.startBinding();
|
||||
|
@ -264,6 +267,9 @@ public abstract class BaseLauncherBinder {
|
|||
Executor pendingExecutor = pendingTasks::add;
|
||||
bindWorkspaceItems(otherWorkspaceItems, pendingExecutor);
|
||||
bindAppWidgets(otherAppWidgets, pendingExecutor);
|
||||
if (TestProtocol.sDebugTracing) {
|
||||
Log.d(TestProtocol.FLAKY_BINDING, "scheduling: finishBindingItems");
|
||||
}
|
||||
executeCallbacksTask(c -> c.finishBindingItems(currentScreenIds), pendingExecutor);
|
||||
pendingExecutor.execute(
|
||||
() -> {
|
||||
|
|
|
@ -154,6 +154,7 @@ public final class TestProtocol {
|
|||
public static final String MISSING_PROMISE_ICON = "b/202985412";
|
||||
public static final String TASKBAR_IN_APP_STATE = "b/227657604";
|
||||
public static final String NPE_TRANSIENT_TASKBAR = "b/257549303";
|
||||
public static final String FLAKY_BINDING = "b/270216650";
|
||||
|
||||
public static final String REQUEST_EMULATE_DISPLAY = "emulate-display";
|
||||
public static final String REQUEST_STOP_EMULATE_DISPLAY = "stop-emulate-display";
|
||||
|
|
|
@ -33,6 +33,7 @@ import com.android.launcher3.celllayout.testcases.ReorderTestCase;
|
|||
import com.android.launcher3.celllayout.testcases.SimpleReorderCase;
|
||||
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;
|
||||
|
@ -118,7 +119,14 @@ public class ReorderWidgets extends AbstractLauncherUiTest {
|
|||
// waitForLauncherCondition to wait for that condition, otherwise the condition would
|
||||
// always be true and it wouldn't wait for the changes to be applied.
|
||||
resetLoaderState();
|
||||
waitForLauncherCondition("Workspace didn't finish loading", l -> !l.isWorkspaceLoading());
|
||||
Log.d(TestProtocol.FLAKY_BINDING, "waiting for: isWorkspaceLoading=false");
|
||||
waitForLauncherCondition("Workspace didn't finish loading", l -> {
|
||||
boolean isWorkspaceLoading = l.isWorkspaceLoading();
|
||||
|
||||
Log.d(TestProtocol.FLAKY_BINDING, "checking: isWorkspaceLoading=" + isWorkspaceLoading);
|
||||
|
||||
return !isWorkspaceLoading;
|
||||
});
|
||||
Widget widget = mLauncher.getWorkspace().getWidgetAtCell(mainWidgetCellPos.getCellX(),
|
||||
mainWidgetCellPos.getCellY());
|
||||
assertNotNull(widget);
|
||||
|
|
Loading…
Reference in New Issue