diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionUiStateManager.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionUiStateManager.java index 6dad9afe57..28ecce07ea 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionUiStateManager.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/appprediction/PredictionUiStateManager.java @@ -197,7 +197,10 @@ public class PredictionUiStateManager implements OnGlobalLayoutListener, ItemInf } } + public boolean mDebugHadStateUpdate; + private void updatePredictionStateAfterCallback() { + mDebugHadStateUpdate = true; boolean validResults = false; for (List l : mPredictionServicePredictions) { validResults |= l != null && !l.isEmpty(); diff --git a/quickstep/tests/src/com/android/quickstep/AppPredictionsUITests.java b/quickstep/tests/src/com/android/quickstep/AppPredictionsUITests.java index 5e20e5643c..c6f7544fef 100644 --- a/quickstep/tests/src/com/android/quickstep/AppPredictionsUITests.java +++ b/quickstep/tests/src/com/android/quickstep/AppPredictionsUITests.java @@ -70,6 +70,9 @@ public class AppPredictionsUITests extends AbstractQuickStepTest { AppLaunchTracker.INSTANCE.initializeForTesting(new AppLaunchTracker()); PredictionUiStateManager.INSTANCE.initializeForTesting(null); + waitForLauncherCondition("Prediction never had state update", + launcher -> PredictionUiStateManager.INSTANCE.get( + mTargetContext).mDebugHadStateUpdate); mCallback = PredictionUiStateManager.INSTANCE.get(mTargetContext).appPredictorCallback( Client.HOME); diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index a59189beaa..35113d2131 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -2553,4 +2553,8 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, void onLauncherResume(); } + + public boolean debugIsPredictionInitialized() { + return true; + } } diff --git a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java index d4cfe3aa29..d0ea142689 100644 --- a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java +++ b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java @@ -64,6 +64,8 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { test.mDevice.pressHome(); } test.waitForLauncherCondition("Launcher didn't start", launcher -> launcher != null); + test.waitForLauncherCondition("Prediction never had state update", + launcher -> launcher.debugIsPredictionInitialized()); test.waitForState("Launcher internal state didn't switch to Home", LauncherState.NORMAL); test.waitForResumed("Launcher internal state is still Background"); // Check that we switched to home.