From 2c353f29a245459ba4b954324dc2a57491091800 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Fri, 26 May 2023 15:45:42 -0700 Subject: [PATCH] Add logs to see if launcher model isn't loaded when work profile app is added * Add helper method to avoid checking sDebugTracing when logging for tests Bug: 243688989 Flag: None Change-Id: Id6cc3b286171eb598e593c5a8aaea6f2466aad60 --- src/com/android/launcher3/LauncherModel.java | 3 +++ .../android/launcher3/model/BaseModelUpdateTask.java | 5 ++++- .../android/launcher3/testing/shared/TestProtocol.java | 10 ++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 617afcb292..c20494d604 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -20,6 +20,8 @@ import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_RESOURC import static com.android.launcher3.LauncherAppState.ACTION_FORCE_ROLOAD; import static com.android.launcher3.config.FeatureFlags.IS_STUDIO_BUILD; +import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING; +import static com.android.launcher3.testing.shared.TestProtocol.testLogD; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.launcher3.util.Executors.MODEL_EXECUTOR; @@ -560,6 +562,7 @@ public class LauncherModel extends LauncherApps.Callback implements InstallSessi synchronized (mLock) { // Everything loaded bind the data. mModelLoaded = true; + testLogD(WORK_TAB_MISSING, "launcher model loaded"); } } diff --git a/src/com/android/launcher3/model/BaseModelUpdateTask.java b/src/com/android/launcher3/model/BaseModelUpdateTask.java index 70c98022fe..44d32d902a 100644 --- a/src/com/android/launcher3/model/BaseModelUpdateTask.java +++ b/src/com/android/launcher3/model/BaseModelUpdateTask.java @@ -16,6 +16,7 @@ package com.android.launcher3.model; import static com.android.launcher3.testing.shared.TestProtocol.WORK_TAB_MISSING; +import static com.android.launcher3.testing.shared.TestProtocol.testLogD; import android.util.Log; @@ -72,7 +73,9 @@ public abstract class BaseModelUpdateTask implements ModelUpdateTask { @Override public final void run() { - if (!Objects.requireNonNull(mModel).isModelLoaded()) { + boolean isModelLoaded = Objects.requireNonNull(mModel).isModelLoaded(); + testLogD(WORK_TAB_MISSING, "modelLoaded: " + isModelLoaded + " forTask: " + this); + if (!isModelLoaded) { if (DEBUG_TASKS) { Log.d(TAG, "Ignoring model task since loader is pending=" + this); } diff --git a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java index bcad5defb2..193438c285 100644 --- a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java +++ b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java @@ -16,6 +16,8 @@ package com.android.launcher3.testing.shared; +import android.util.Log; + /** * Protocol for custom accessibility events for communication with UI Automation tests. */ @@ -160,4 +162,12 @@ public final class TestProtocol { public static final String REQUEST_STOP_EMULATE_DISPLAY = "stop-emulate-display"; public static final String REQUEST_IS_EMULATE_DISPLAY_RUNNING = "is-emulate-display-running"; public static final String REQUEST_EMULATE_PRINT_DEVICE = "emulate-print-device"; + + /** Logs {@link Log#d(String, String)} if {@link #sDebugTracing} is true. */ + public static void testLogD(String tag, String message) { + if (!sDebugTracing) { + return; + } + Log.d(tag, message); + } }