From 6106ae9ac7e443dd9e803bdf71fa79b2d96c1fd3 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Tue, 25 Apr 2023 17:17:32 -0700 Subject: [PATCH] Add logs for PackageUpdatedTask * That's the bit that updates new packages for work profile, at least from command line. * There is variability in how long it could take work profile apps to show up, from 2-8 seconds. Bug: 243688989 Change-Id: I710befc5f17b4a16bff523eb03f1e88975cafd43 --- .../android/launcher3/model/BaseModelUpdateTask.java | 7 ++++++- .../android/launcher3/model/PackageUpdatedTask.java | 11 ++++++++++- .../src/com/android/launcher3/ui/WorkProfileTest.java | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/model/BaseModelUpdateTask.java b/src/com/android/launcher3/model/BaseModelUpdateTask.java index bf839bf1ac..70c98022fe 100644 --- a/src/com/android/launcher3/model/BaseModelUpdateTask.java +++ b/src/com/android/launcher3/model/BaseModelUpdateTask.java @@ -151,7 +151,12 @@ public abstract class BaseModelUpdateTask implements ModelUpdateTask { } public void bindApplicationsIfNeeded() { - if (mAllAppsList.getAndResetChangeFlag()) { + boolean changeFlag = mAllAppsList.getAndResetChangeFlag(); + if (TestProtocol.sDebugTracing) { + Log.d(WORK_TAB_MISSING, "bindApplicationsIfNeeded changeFlag? " + + changeFlag); + } + if (changeFlag) { AppInfo[] apps = mAllAppsList.copyData(); int flags = mAllAppsList.getFlags(); scheduleCallbackTask(c -> c.bindAllApplications(apps, flags)); diff --git a/src/com/android/launcher3/model/PackageUpdatedTask.java b/src/com/android/launcher3/model/PackageUpdatedTask.java index 1ab64df4a0..d4a5e1b9d9 100644 --- a/src/com/android/launcher3/model/PackageUpdatedTask.java +++ b/src/com/android/launcher3/model/PackageUpdatedTask.java @@ -44,6 +44,7 @@ import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.pm.PackageInstallInfo; import com.android.launcher3.pm.UserCache; import com.android.launcher3.shortcuts.ShortcutRequest; +import com.android.launcher3.testing.shared.TestProtocol; import com.android.launcher3.util.FlagOp; import com.android.launcher3.util.IntSet; import com.android.launcher3.util.ItemInfoMatcher; @@ -67,7 +68,7 @@ import java.util.stream.Collectors; */ public class PackageUpdatedTask extends BaseModelUpdateTask { - private static final boolean DEBUG = false; + private static boolean DEBUG = false; private static final String TAG = "PackageUpdatedTask"; public static final int OP_NONE = 0; @@ -92,6 +93,11 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { mOp = op; mUser = user; mPackages = packages; + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.WORK_TAB_MISSING, "PackageUpdatedTask mOp: " + mOp + + " packageCount: " + mPackages.length); + DEBUG = true; + } } @Override @@ -136,6 +142,9 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { // The update may have changed which shortcuts/widgets are available. // Refresh the widgets for the package if we have an activity running. Launcher launcher = Launcher.ACTIVITY_TRACKER.getCreatedActivity(); + if (TestProtocol.sDebugTracing) { + Log.d(TestProtocol.WORK_TAB_MISSING, "launcher: " + launcher); + } if (launcher != null) { launcher.refreshAndBindWidgetsForPackageUser( new PackageUserKey(packages[i], mUser)); diff --git a/tests/src/com/android/launcher3/ui/WorkProfileTest.java b/tests/src/com/android/launcher3/ui/WorkProfileTest.java index 54da7de0c0..c83820b3ac 100644 --- a/tests/src/com/android/launcher3/ui/WorkProfileTest.java +++ b/tests/src/com/android/launcher3/ui/WorkProfileTest.java @@ -105,6 +105,8 @@ public class WorkProfileTest extends AbstractLauncherUiTest { } private void waitForWorkTabSetup() { + // Added for b/243688989 flake to determine if we really are in allApps or not at this point + mLauncher.getAllApps(); waitForLauncherCondition("Work tab not setup", launcher -> { if (launcher.getAppsView().getContentView() instanceof AllAppsPagedView) { Log.d(WORK_TAB_MISSING, "Deferring AppsStore updates");