diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index 527e3a3cc1..b21c4145b1 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -46,6 +46,7 @@ import android.view.View; import android.view.animation.Interpolator; import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; import androidx.core.view.OneShotPreDrawListener; import com.android.app.animation.Interpolators; @@ -96,6 +97,8 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar public static final int ALPHA_INDEX_SMALL_SCREEN = 6; private static final int NUM_ALPHA_CHANNELS = 7; + private static boolean sEnableModelLoadingForTests = true; + private final TaskbarActivityContext mActivity; private final TaskbarView mTaskbarView; private final MultiValueAlpha mTaskbarIconAlpha; @@ -192,7 +195,7 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar mTaskbarIconTranslationXForPinning.updateValue(pinningValue); mModelCallbacks.init(controllers); - if (mActivity.isUserSetupComplete()) { + if (mActivity.isUserSetupComplete() && sEnableModelLoadingForTests) { // Only load the callbacks if user setup is completed LauncherAppState.getInstance(mActivity).getModel().addCallbacksAndLoad(mModelCallbacks); } @@ -924,4 +927,10 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar mModelCallbacks.dumpLogs(prefix + "\t", pw); } + + /** Enables model loading for tests. */ + @VisibleForTesting + public static void enableModelLoadingForTests(boolean enable) { + sEnableModelLoadingForTests = enable; + } } diff --git a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/rules/TaskbarUnitTestRule.kt b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/rules/TaskbarUnitTestRule.kt index a966d2aedb..bbcf566e06 100644 --- a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/rules/TaskbarUnitTestRule.kt +++ b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/rules/TaskbarUnitTestRule.kt @@ -29,10 +29,10 @@ import com.android.launcher3.LauncherAppState import com.android.launcher3.taskbar.TaskbarActivityContext import com.android.launcher3.taskbar.TaskbarManager import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarNavButtonCallbacks +import com.android.launcher3.taskbar.TaskbarViewController import com.android.launcher3.taskbar.rules.TaskbarUnitTestRule.InjectController import com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR import com.android.launcher3.util.LauncherMultivalentJUnit.Companion.isRunningInRobolectric -import com.android.launcher3.util.ModelTestExtensions.loadModelSync import com.android.launcher3.util.TestUtil import com.android.quickstep.AllAppsActionManager import com.android.quickstep.TouchInteractionService @@ -152,7 +152,7 @@ class TaskbarUnitTestRule( } try { - LauncherAppState.getInstance(context).model.loadModelSync() + TaskbarViewController.enableModelLoadingForTests(false) // Replace Launcher Taskbar window with test instance. instrumentation.runOnMainSync { @@ -167,6 +167,8 @@ class TaskbarUnitTestRule( taskbarManager.destroy() launcherTaskbarManager?.setSuspended(false) } + + TaskbarViewController.enableModelLoadingForTests(true) } } }