summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVadim Tryshev <vadimt@google.com>2023-05-25 17:17:50 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-05-25 17:17:50 +0000
commit8cf338148bcdb9adb9000ee4053b31ed5f849299 (patch)
treee2a57ea0f32b852f50a97098badc283125f08647 /src
parent4ccfbf38bb6f0e5add5c87915c1d44a4fb84517e (diff)
parent80bb8a12da54bd7353d923d80ae2934cd5f2350b (diff)
downloadLauncher3-8cf338148bcdb9adb9000ee4053b31ed5f849299.tar.gz
Merge "Adding tracing for workspace loading that never finishes" into udc-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/model/BaseLauncherBinder.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/com/android/launcher3/model/BaseLauncherBinder.java b/src/com/android/launcher3/model/BaseLauncherBinder.java
index ba9eb20073..85def73885 100644
--- a/src/com/android/launcher3/model/BaseLauncherBinder.java
+++ b/src/com/android/launcher3/model/BaseLauncherBinder.java
@@ -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);