Loading src/com/android/launcher3/Launcher.java +9 −0 Original line number Diff line number Diff line Loading @@ -1860,6 +1860,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; } Loading Loading @@ -2306,6 +2309,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. Loading Loading @@ -2778,6 +2784,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); Loading src/com/android/launcher3/model/BaseLauncherBinder.java +6 −0 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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( () -> { Loading tests/shared/com/android/launcher3/testing/shared/TestProtocol.java +1 −0 Original line number Diff line number Diff line Loading @@ -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"; Loading tests/src/com/android/launcher3/celllayout/ReorderWidgets.java +9 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading
src/com/android/launcher3/Launcher.java +9 −0 Original line number Diff line number Diff line Loading @@ -1860,6 +1860,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; } Loading Loading @@ -2306,6 +2309,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. Loading Loading @@ -2778,6 +2784,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); Loading
src/com/android/launcher3/model/BaseLauncherBinder.java +6 −0 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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( () -> { Loading
tests/shared/com/android/launcher3/testing/shared/TestProtocol.java +1 −0 Original line number Diff line number Diff line Loading @@ -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"; Loading
tests/src/com/android/launcher3/celllayout/ReorderWidgets.java +9 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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