Merge "Revert to passing mIsStashed to StashedHandleViewController again" into main
diff --git a/Android.bp b/Android.bp
index e2dd48d..75902c8 100644
--- a/Android.bp
+++ b/Android.bp
@@ -107,10 +107,10 @@
         "launcher-testing-shared",
     ],
     srcs: [
-        "tests/tapl/**/*.java",
+        "tests/multivalentTests/tapl/**/*.java",
     ],
     resource_dirs: [],
-    manifest: "tests/tapl/AndroidManifest.xml",
+    manifest: "tests/multivalentTests/tapl/AndroidManifest.xml",
     platform_apis: true,
 }
 
diff --git a/aconfig/Android.bp b/aconfig/Android.bp
index 5413601..dc30a35 100644
--- a/aconfig/Android.bp
+++ b/aconfig/Android.bp
@@ -20,7 +20,6 @@
 aconfig_declarations {
     name: "com_android_launcher3_flags",
     package: "com.android.launcher3",
-    container: "system",
     srcs: ["**/*.aconfig"],
 }
 
diff --git a/aconfig/launcher.aconfig b/aconfig/launcher.aconfig
index f34105a..98dd4d6 100644
--- a/aconfig/launcher.aconfig
+++ b/aconfig/launcher.aconfig
@@ -1,5 +1,4 @@
 package: "com.android.launcher3"
-container: "system"
 
 flag {
     name: "enable_expanding_pause_work_button"
diff --git a/aconfig/launcher_search.aconfig b/aconfig/launcher_search.aconfig
index bdce0f3..97e56b7 100644
--- a/aconfig/launcher_search.aconfig
+++ b/aconfig/launcher_search.aconfig
@@ -1,5 +1,4 @@
 package: "com.android.launcher3"
-container: "system"
 
 flag {
     name: "enable_private_space"
diff --git a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
index 8c9dc6a..656af31 100644
--- a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
+++ b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
@@ -93,6 +93,7 @@
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.provider.Settings.Global;
+import android.util.Log;
 import android.util.Pair;
 import android.util.Size;
 import android.view.CrossWindowBlurListeners;
@@ -1764,6 +1765,7 @@
                 RemoteAnimationTarget[] wallpaperTargets,
                 RemoteAnimationTarget[] nonAppTargets,
                 LauncherAnimationRunner.AnimationResult result) {
+            Log.d("b/318394698", "AppLaunchAnimationRunner: onAnimationStart");
             AnimatorSet anim = new AnimatorSet();
             boolean launcherClosing =
                     launcherIsATargetWithMode(appTargets, MODE_CLOSING);
@@ -1799,6 +1801,7 @@
 
         @Override
         public void onAnimationCancelled() {
+            Log.d("b/318394698", "AppLaunchAnimationRunner: onAnimationCancelled");
             mOnEndCallback.executeAllAndDestroy();
         }
     }
diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
index f0ab08c..c3bcde0 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
@@ -365,6 +365,8 @@
     public RunnableList startActivitySafely(View v, Intent intent, ItemInfo item) {
         // Only pause is taskbar controller is not present until the transition (if it exists) ends
         mHotseatPredictionController.setPauseUIUpdate(getTaskbarUIController() == null);
+        Log.d("b/318394698", "startActivitySafely being run, getTaskbarUIController is: "
+                + getTaskbarUIController());
         RunnableList result = super.startActivitySafely(v, intent, item);
         if (result == null) {
             mHotseatPredictionController.setPauseUIUpdate(false);
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java
index 5443ff9..5a51d8e 100644
--- a/src/com/android/launcher3/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -1718,7 +1718,7 @@
 
         // First we determine if things have moved enough to cause a different layout
         ItemConfiguration swapSolution = findReorderSolution(pixelXY[0], pixelXY[1], spanX, spanY,
-                spanX,  spanY, direction, dragView,  true,  new ItemConfiguration());
+                spanX,  spanY, direction, dragView,  true);
 
         setUseTempCoords(true);
         if (swapSolution != null && swapSolution.isSolution) {
@@ -1747,13 +1747,13 @@
     }
 
     protected ItemConfiguration findReorderSolution(int pixelX, int pixelY, int minSpanX,
-            int minSpanY, int spanX, int spanY, int[] direction, View dragView, boolean decX,
-            ItemConfiguration solution) {
+            int minSpanY, int spanX, int spanY, int[] direction, View dragView, boolean decX) {
         ItemConfiguration configuration = new ItemConfiguration();
         copyCurrentStateToSolution(configuration);
         ReorderParameters parameters = new ReorderParameters(pixelX, pixelY, spanX, spanY, minSpanX,
                 minSpanY, dragView, configuration);
-        return createReorderAlgorithm().findReorderSolution(parameters, decX);
+        int[] directionVector = direction != null ? direction : mDirectionVector;
+        return createReorderAlgorithm().findReorderSolution(parameters, directionVector, decX);
     }
 
     public void copyCurrentStateToSolution(ItemConfiguration solution) {
@@ -2077,7 +2077,7 @@
                 cellToPoint(cellX, cellY, cellPoint);
                 if (findReorderSolution(cellPoint[0], cellPoint[1], itemInfo.minSpanX,
                         itemInfo.minSpanY, itemInfo.spanX, itemInfo.spanY, mDirectionVector, null,
-                        true, new ItemConfiguration()).isSolution) {
+                        true).isSolution) {
                     return true;
                 }
             }
@@ -2092,9 +2092,18 @@
         int[] cellPoint = new int[2];
         int[] directionVector = new int[]{0, -1};
         cellToPoint(0, mCountY, cellPoint);
-        ItemConfiguration configuration = new ItemConfiguration();
-        if (findReorderSolution(cellPoint[0], cellPoint[1], mCountX, 1, mCountX, 1,
-                directionVector, null, false, configuration).isSolution) {
+        ItemConfiguration configuration = findReorderSolution(
+                cellPoint[0] /* pixelX */,
+                cellPoint[1] /* pixelY */,
+                mCountX /* minSpanX */,
+                1 /* minSpanY */,
+                mCountX /* spanX */,
+                1 /* spanY */,
+                directionVector /* direction */,
+                null /* dragView */,
+                false /* decX */
+        );
+        if (configuration.isSolution) {
             if (commitConfig) {
                 copySolutionToTempState(configuration, null);
                 commitTempPlacement(null);
diff --git a/src/com/android/launcher3/celllayout/ReorderAlgorithm.java b/src/com/android/launcher3/celllayout/ReorderAlgorithm.java
index 8754b74..c303783 100644
--- a/src/com/android/launcher3/celllayout/ReorderAlgorithm.java
+++ b/src/com/android/launcher3/celllayout/ReorderAlgorithm.java
@@ -49,21 +49,37 @@
      * When changing the size of the widget this method will try first subtracting -1 in the x
      * dimension and then subtracting -1 in the y dimension until finding a possible solution or
      * until it no longer can reduce the span.
-     *
      * @param decX     whether it will decrease the horizontal or vertical span if it can't find a
      *                 solution for the current span.
      * @return the same solution variable
      */
     public ItemConfiguration findReorderSolution(ReorderParameters reorderParameters,
             boolean decX) {
+        return findReorderSolution(reorderParameters, mCellLayout.mDirectionVector, decX);
+    }
+
+    /**
+     * This method differs from closestEmptySpaceReorder and dropInPlaceSolution because this method
+     * will move items around and will change the shape of the item if possible to try to find a
+     * solution.
+     * <p>
+     * When changing the size of the widget this method will try first subtracting -1 in the x
+     * dimension and then subtracting -1 in the y dimension until finding a possible solution or
+     * until it no longer can reduce the span.
+     * @param direction Direction to attempt to push items if needed
+     * @param decX     whether it will decrease the horizontal or vertical span if it can't find a
+     *                 solution for the current span.
+     * @return the same solution variable
+     */
+    public ItemConfiguration findReorderSolution(ReorderParameters reorderParameters,
+            int[] direction, boolean decX) {
         return findReorderSolutionRecursive(reorderParameters.getPixelX(),
                 reorderParameters.getPixelY(), reorderParameters.getMinSpanX(),
                 reorderParameters.getMinSpanY(), reorderParameters.getSpanX(),
-                reorderParameters.getSpanY(), mCellLayout.mDirectionVector,
+                reorderParameters.getSpanY(), direction,
                 reorderParameters.getDragView(), decX, reorderParameters.getSolution());
     }
 
-
     private ItemConfiguration findReorderSolutionRecursive(int pixelX, int pixelY, int minSpanX,
             int minSpanY, int spanX, int spanY, int[] direction, View dragView, boolean decX,
             ItemConfiguration solution) {
diff --git a/tests/Android.bp b/tests/Android.bp
index dd0ba9e..a236954 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -22,7 +22,9 @@
     name: "launcher-tests-src",
     srcs: [
       "src/**/*.java",
-      "src/**/*.kt"
+      "src/**/*.kt",
+      "multivalentTests/src/**/*.java",
+      "multivalentTests/src/**/*.kt",
     ],
     exclude_srcs: [
         ":launcher-non-quickstep-tests-src"
@@ -31,25 +33,27 @@
 
 // Source code used for screenshot tests
 filegroup {
-    name: "launcher-image-tests-src",
+    name: "launcher-image-tests-helpers",
     srcs: [
-      "src/com/android/launcher3/celllayout/board/*.java",
-      "src/com/android/launcher3/celllayout/board/*.kt",
-      "src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java",
-      "src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
-      "src/com/android/launcher3/ui/PortraitLandscapeRunner.java",
-      "src/com/android/launcher3/ui/TestViewHelpers.java",
-      "src/com/android/launcher3/util/LauncherLayoutBuilder.java",
-      "src/com/android/launcher3/util/ModelTestExtensions.kt",
-      "src/com/android/launcher3/util/TestConstants.java",
-      "src/com/android/launcher3/util/TestUtil.java",
-      "src/com/android/launcher3/util/Wait.java",
-      "src/com/android/launcher3/util/WidgetUtils.java",
-      "src/com/android/launcher3/util/rule/*.java",
-      "src/com/android/launcher3/util/rule/*.kt",
-      "src/com/android/launcher3/util/viewcapture_analysis/*.java",
-      "src/com/android/launcher3/testcomponent/*.java",
-      "src/com/android/launcher3/testcomponent/*.kt",
+      "multivalentTests/src/com/android/launcher3/celllayout/board/*.java",
+      "multivalentTests/src/com/android/launcher3/celllayout/board/*.kt",
+      "multivalentTests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java",
+      "multivalentTests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
+      "multivalentTests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java",
+      "multivalentTests/src/com/android/launcher3/ui/TestViewHelpers.java",
+      "multivalentTests/src/com/android/launcher3/util/LauncherLayoutBuilder.java",
+      "multivalentTests/src/com/android/launcher3/util/ModelTestExtensions.kt",
+      "multivalentTests/src/com/android/launcher3/util/TestConstants.java",
+      "multivalentTests/src/com/android/launcher3/util/TestUtil.java",
+      "multivalentTests/src/com/android/launcher3/util/Wait.java",
+      "multivalentTests/src/com/android/launcher3/util/WidgetUtils.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/*.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/*.kt",
+      "multivalentTests/src/com/android/launcher3/util/rule/*.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/*.kt",
+      "multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/*.java",
+      "multivalentTests/src/com/android/launcher3/testcomponent/*.java",
+      "multivalentTests/src/com/android/launcher3/testcomponent/*.kt",
     ],
 }
 
@@ -71,30 +75,30 @@
       "src/com/android/launcher3/appiconmenu/TaplAppIconMenuTest.java",
       "src/com/android/launcher3/dragging/TaplDragTest.java",
       "src/com/android/launcher3/dragging/TaplUninstallRemoveTest.java",
-      "src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
-      "src/com/android/launcher3/ui/PortraitLandscapeRunner.java",
+      "multivalentTests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
+      "multivalentTests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java",
       "src/com/android/launcher3/ui/TaplTestsLauncher3Test.java",
       "src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java",
       "src/com/android/launcher3/ui/workspace/TaplWorkspaceTest.java",
-      "src/com/android/launcher3/util/LauncherLayoutBuilder.java",
-      "src/com/android/launcher3/util/TestConstants.java",
-      "src/com/android/launcher3/util/TestUtil.java",
-      "src/com/android/launcher3/util/Wait.java",
-      "src/com/android/launcher3/util/WidgetUtils.java",
-      "src/com/android/launcher3/util/rule/FailureWatcher.java",
-      "src/com/android/launcher3/util/rule/ViewCaptureRule.kt",
-      "src/com/android/launcher3/util/rule/SamplerRule.java",
-      "src/com/android/launcher3/util/rule/ScreenRecordRule.java",
-      "src/com/android/launcher3/util/rule/ShellCommandRule.java",
-      "src/com/android/launcher3/util/rule/TestIsolationRule.java",
-      "src/com/android/launcher3/util/rule/TestStabilityRule.java",
-      "src/com/android/launcher3/util/viewcapture_analysis/*.java",
-      "src/com/android/launcher3/testcomponent/BaseTestingActivity.java",
-      "src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java",
-      "src/com/android/launcher3/testcomponent/CustomShortcutConfigActivity.java",
-      "src/com/android/launcher3/testcomponent/TestCommandReceiver.java",
-      "src/com/android/launcher3/testcomponent/TestLauncherActivity.java",
-      "src/com/android/launcher3/testcomponent/ImeTestActivity.java",
+      "multivalentTests/src/com/android/launcher3/util/LauncherLayoutBuilder.java",
+      "multivalentTests/src/com/android/launcher3/util/TestConstants.java",
+      "multivalentTests/src/com/android/launcher3/util/TestUtil.java",
+      "multivalentTests/src/com/android/launcher3/util/Wait.java",
+      "multivalentTests/src/com/android/launcher3/util/WidgetUtils.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/FailureWatcher.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt",
+      "multivalentTests/src/com/android/launcher3/util/rule/SamplerRule.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/ScreenRecordRule.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/ShellCommandRule.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/TestIsolationRule.java",
+      "multivalentTests/src/com/android/launcher3/util/rule/TestStabilityRule.java",
+      "multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/*.java",
+      "multivalentTests/src/com/android/launcher3/testcomponent/BaseTestingActivity.java",
+      "multivalentTests/src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java",
+      "multivalentTests/src/com/android/launcher3/testcomponent/CustomShortcutConfigActivity.java",
+      "multivalentTests/src/com/android/launcher3/testcomponent/TestCommandReceiver.java",
+      "multivalentTests/src/com/android/launcher3/testcomponent/TestLauncherActivity.java",
+      "multivalentTests/src/com/android/launcher3/testcomponent/ImeTestActivity.java",
     ],
 }
 
@@ -167,10 +171,10 @@
 android_library {
     name: "launcher-testing-shared",
     srcs: [
-        "shared/com/android/launcher3/testing/shared/**/*.java"
+        "multivalentTests/shared/com/android/launcher3/testing/shared/**/*.java"
     ],
     resource_dirs: [ ],
-    manifest: "shared/AndroidManifest.xml",
+    manifest: "multivalentTests/shared/AndroidManifest.xml",
     sdk_version: "current",
     min_sdk_version: min_launcher3_sdk_version,
  }
@@ -180,14 +184,18 @@
     srcs: [
       "src/**/*.java",
       "src/**/*.kt",
-      "src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
-      "tapl/com/android/launcher3/tapl/*.java",
-      "tapl/com/android/launcher3/tapl/*.kt",
+      "multivalentTests/src/**/*.java",
+      "multivalentTests/src/**/*.kt",
+      "multivalentTests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
+      "multivalentTests/tapl/com/android/launcher3/tapl/*.java",
+      "multivalentTests/tapl/com/android/launcher3/tapl/*.kt",
     ],
     exclude_srcs: [
         // Test classes
         "src/**/*Test.java",
         "src/**/*Test.kt",
+        "multivalentTests/src/**/*Test.java",
+        "multivalentTests/src/**/*Test.kt",
     ],
 }
 
@@ -206,23 +214,21 @@
 android_robolectric_test {
     enabled: true,
     name: "Launcher3RoboTests",
+    // multivalentTests directory is a shared folder for not only robolectric converted test
+    // classes but also shared helper classes.
     srcs: [
-        "src/com/android/launcher3/util/*.java",
-        "src/com/android/launcher3/util/*.kt",
+        "multivalentTests/src/com/android/launcher3/util/*.java",
+        "multivalentTests/src/com/android/launcher3/util/*.kt",
 
         // Test util classes
         ":launcher-testing-helpers",
         ":launcher-testing-shared",
     ],
     exclude_srcs: [
-        "src/com/android/launcher3/util/CellContentDimensionsTest.kt", // Failing - b/316553889
+        //"src/com/android/launcher3/util/CellContentDimensionsTest.kt", // Failing - b/316553889
 
         // requires modification to work with inline mock maker
         "src/com/android/launcher3/util/rule/StaticMockitoRule.java",
-
-        // requires kotlin mockito
-        "src/com/android/launcher3/util/LockedUserStateTest.kt",
-        "src/com/android/launcher3/util/DisplayControllerTest.kt",
     ],
     java_resource_dirs: ["config"],
     static_libs: [
diff --git a/tests/dummy_app/Android.bp b/tests/multivalentTests/dummy_app/Android.bp
similarity index 100%
rename from tests/dummy_app/Android.bp
rename to tests/multivalentTests/dummy_app/Android.bp
diff --git a/tests/dummy_app/AndroidManifest.xml b/tests/multivalentTests/dummy_app/AndroidManifest.xml
similarity index 100%
rename from tests/dummy_app/AndroidManifest.xml
rename to tests/multivalentTests/dummy_app/AndroidManifest.xml
diff --git a/tests/dummy_app/res/layout/empty_activity.xml b/tests/multivalentTests/dummy_app/res/layout/empty_activity.xml
similarity index 100%
rename from tests/dummy_app/res/layout/empty_activity.xml
rename to tests/multivalentTests/dummy_app/res/layout/empty_activity.xml
diff --git a/tests/dummy_app/res/mipmap-anydpi/ic_launcher1.xml b/tests/multivalentTests/dummy_app/res/mipmap-anydpi/ic_launcher1.xml
similarity index 100%
rename from tests/dummy_app/res/mipmap-anydpi/ic_launcher1.xml
rename to tests/multivalentTests/dummy_app/res/mipmap-anydpi/ic_launcher1.xml
diff --git a/tests/dummy_app/res/mipmap-anydpi/ic_launcher2.xml b/tests/multivalentTests/dummy_app/res/mipmap-anydpi/ic_launcher2.xml
similarity index 100%
rename from tests/dummy_app/res/mipmap-anydpi/ic_launcher2.xml
rename to tests/multivalentTests/dummy_app/res/mipmap-anydpi/ic_launcher2.xml
diff --git a/tests/dummy_app/res/mipmap-xxhdpi/ic_launcher1.png b/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/ic_launcher1.png
similarity index 100%
rename from tests/dummy_app/res/mipmap-xxhdpi/ic_launcher1.png
rename to tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/ic_launcher1.png
Binary files differ
diff --git a/tests/dummy_app/res/mipmap-xxhdpi/ic_launcher2.png b/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/ic_launcher2.png
similarity index 100%
rename from tests/dummy_app/res/mipmap-xxhdpi/ic_launcher2.png
rename to tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/ic_launcher2.png
Binary files differ
diff --git a/tests/dummy_app/res/mipmap-xxhdpi/icon_back_1.png b/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/icon_back_1.png
similarity index 100%
rename from tests/dummy_app/res/mipmap-xxhdpi/icon_back_1.png
rename to tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/icon_back_1.png
Binary files differ
diff --git a/tests/dummy_app/res/mipmap-xxhdpi/icon_fore_1.png b/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/icon_fore_1.png
similarity index 100%
rename from tests/dummy_app/res/mipmap-xxhdpi/icon_fore_1.png
rename to tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/icon_fore_1.png
Binary files differ
diff --git a/tests/dummy_app/res/mipmap-xxxhdpi/ic_launcher1.png b/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/ic_launcher1.png
similarity index 100%
rename from tests/dummy_app/res/mipmap-xxxhdpi/ic_launcher1.png
rename to tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/ic_launcher1.png
Binary files differ
diff --git a/tests/dummy_app/res/mipmap-xxxhdpi/ic_launcher2.png b/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/ic_launcher2.png
similarity index 100%
rename from tests/dummy_app/res/mipmap-xxxhdpi/ic_launcher2.png
rename to tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/ic_launcher2.png
Binary files differ
diff --git a/tests/dummy_app/res/mipmap-xxxhdpi/icon_back_1.png b/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/icon_back_1.png
similarity index 100%
rename from tests/dummy_app/res/mipmap-xxxhdpi/icon_back_1.png
rename to tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/icon_back_1.png
Binary files differ
diff --git a/tests/dummy_app/res/mipmap-xxxhdpi/icon_fore_1.png b/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/icon_fore_1.png
similarity index 100%
rename from tests/dummy_app/res/mipmap-xxxhdpi/icon_fore_1.png
rename to tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/icon_fore_1.png
Binary files differ
diff --git a/tests/dummy_app/res/values/colors.xml b/tests/multivalentTests/dummy_app/res/values/colors.xml
similarity index 100%
rename from tests/dummy_app/res/values/colors.xml
rename to tests/multivalentTests/dummy_app/res/values/colors.xml
diff --git a/tests/dummy_app/src/com/example/android/aardwolf/Activity1.java b/tests/multivalentTests/dummy_app/src/com/example/android/aardwolf/Activity1.java
similarity index 100%
rename from tests/dummy_app/src/com/example/android/aardwolf/Activity1.java
rename to tests/multivalentTests/dummy_app/src/com/example/android/aardwolf/Activity1.java
diff --git a/tests/shared/AndroidManifest.xml b/tests/multivalentTests/shared/AndroidManifest.xml
similarity index 100%
rename from tests/shared/AndroidManifest.xml
rename to tests/multivalentTests/shared/AndroidManifest.xml
diff --git a/tests/shared/com/android/launcher3/testing/OWNERS b/tests/multivalentTests/shared/com/android/launcher3/testing/OWNERS
similarity index 100%
rename from tests/shared/com/android/launcher3/testing/OWNERS
rename to tests/multivalentTests/shared/com/android/launcher3/testing/OWNERS
diff --git a/tests/shared/com/android/launcher3/testing/shared/HotseatCellCenterRequest.java b/tests/multivalentTests/shared/com/android/launcher3/testing/shared/HotseatCellCenterRequest.java
similarity index 100%
rename from tests/shared/com/android/launcher3/testing/shared/HotseatCellCenterRequest.java
rename to tests/multivalentTests/shared/com/android/launcher3/testing/shared/HotseatCellCenterRequest.java
diff --git a/tests/shared/com/android/launcher3/testing/shared/ResourceUtils.java b/tests/multivalentTests/shared/com/android/launcher3/testing/shared/ResourceUtils.java
similarity index 100%
rename from tests/shared/com/android/launcher3/testing/shared/ResourceUtils.java
rename to tests/multivalentTests/shared/com/android/launcher3/testing/shared/ResourceUtils.java
diff --git a/tests/shared/com/android/launcher3/testing/shared/TestInformationRequest.java b/tests/multivalentTests/shared/com/android/launcher3/testing/shared/TestInformationRequest.java
similarity index 100%
rename from tests/shared/com/android/launcher3/testing/shared/TestInformationRequest.java
rename to tests/multivalentTests/shared/com/android/launcher3/testing/shared/TestInformationRequest.java
diff --git a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java b/tests/multivalentTests/shared/com/android/launcher3/testing/shared/TestProtocol.java
similarity index 100%
rename from tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
rename to tests/multivalentTests/shared/com/android/launcher3/testing/shared/TestProtocol.java
diff --git a/tests/shared/com/android/launcher3/testing/shared/WorkspaceCellCenterRequest.java b/tests/multivalentTests/shared/com/android/launcher3/testing/shared/WorkspaceCellCenterRequest.java
similarity index 100%
rename from tests/shared/com/android/launcher3/testing/shared/WorkspaceCellCenterRequest.java
rename to tests/multivalentTests/shared/com/android/launcher3/testing/shared/WorkspaceCellCenterRequest.java
diff --git a/tests/src/com/android/launcher3/celllayout/CellLayoutTestCaseReader.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/CellLayoutTestCaseReader.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/CellLayoutTestCaseReader.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/CellLayoutTestCaseReader.java
diff --git a/tests/src/com/android/launcher3/celllayout/CellLayoutTestUtils.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/CellLayoutTestUtils.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/CellLayoutTestUtils.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/CellLayoutTestUtils.java
diff --git a/tests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java
diff --git a/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTestCase.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTestCase.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTestCase.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTestCase.java
diff --git a/tests/src/com/android/launcher3/celllayout/ReorderTestCase.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/ReorderTestCase.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/ReorderTestCase.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/ReorderTestCase.java
diff --git a/tests/src/com/android/launcher3/celllayout/board/CellLayoutBoard.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/board/CellLayoutBoard.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/board/CellLayoutBoard.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/board/CellLayoutBoard.java
diff --git a/tests/src/com/android/launcher3/celllayout/board/CellType.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/board/CellType.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/board/CellType.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/board/CellType.java
diff --git a/tests/src/com/android/launcher3/celllayout/board/FolderPoint.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/board/FolderPoint.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/board/FolderPoint.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/board/FolderPoint.java
diff --git a/tests/src/com/android/launcher3/celllayout/board/IconPoint.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/board/IconPoint.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/board/IconPoint.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/board/IconPoint.java
diff --git a/tests/src/com/android/launcher3/celllayout/board/IdenticalBoardComparator.kt b/tests/multivalentTests/src/com/android/launcher3/celllayout/board/IdenticalBoardComparator.kt
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/board/IdenticalBoardComparator.kt
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/board/IdenticalBoardComparator.kt
diff --git a/tests/src/com/android/launcher3/celllayout/board/PermutedBoardComparator.kt b/tests/multivalentTests/src/com/android/launcher3/celllayout/board/PermutedBoardComparator.kt
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/board/PermutedBoardComparator.kt
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/board/PermutedBoardComparator.kt
diff --git a/tests/src/com/android/launcher3/celllayout/board/TestWorkspaceBuilder.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/board/TestWorkspaceBuilder.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/board/TestWorkspaceBuilder.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/board/TestWorkspaceBuilder.java
diff --git a/tests/src/com/android/launcher3/celllayout/board/WidgetRect.java b/tests/multivalentTests/src/com/android/launcher3/celllayout/board/WidgetRect.java
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/board/WidgetRect.java
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/board/WidgetRect.java
diff --git a/tests/src/com/android/launcher3/celllayout/testgenerator/DeterministicRandomGenerator.kt b/tests/multivalentTests/src/com/android/launcher3/celllayout/testgenerator/DeterministicRandomGenerator.kt
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/testgenerator/DeterministicRandomGenerator.kt
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/testgenerator/DeterministicRandomGenerator.kt
diff --git a/tests/src/com/android/launcher3/celllayout/testgenerator/RandomBoardGenerator.kt b/tests/multivalentTests/src/com/android/launcher3/celllayout/testgenerator/RandomBoardGenerator.kt
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/testgenerator/RandomBoardGenerator.kt
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/testgenerator/RandomBoardGenerator.kt
diff --git a/tests/src/com/android/launcher3/celllayout/testgenerator/RandomMultiBoardGenerator.kt b/tests/multivalentTests/src/com/android/launcher3/celllayout/testgenerator/RandomMultiBoardGenerator.kt
similarity index 100%
rename from tests/src/com/android/launcher3/celllayout/testgenerator/RandomMultiBoardGenerator.kt
rename to tests/multivalentTests/src/com/android/launcher3/celllayout/testgenerator/RandomMultiBoardGenerator.kt
diff --git a/tests/src/com/android/launcher3/model/AbstractWorkspaceModelTest.kt b/tests/multivalentTests/src/com/android/launcher3/model/AbstractWorkspaceModelTest.kt
similarity index 100%
rename from tests/src/com/android/launcher3/model/AbstractWorkspaceModelTest.kt
rename to tests/multivalentTests/src/com/android/launcher3/model/AbstractWorkspaceModelTest.kt
diff --git a/tests/src/com/android/launcher3/model/FactitiousDbController.kt b/tests/multivalentTests/src/com/android/launcher3/model/FactitiousDbController.kt
similarity index 100%
rename from tests/src/com/android/launcher3/model/FactitiousDbController.kt
rename to tests/multivalentTests/src/com/android/launcher3/model/FactitiousDbController.kt
diff --git a/tests/src/com/android/launcher3/testcomponent/AppWidgetDynamicColors.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetDynamicColors.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/AppWidgetDynamicColors.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetDynamicColors.java
diff --git a/tests/src/com/android/launcher3/testcomponent/AppWidgetHidden.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetHidden.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/AppWidgetHidden.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetHidden.java
diff --git a/tests/src/com/android/launcher3/testcomponent/AppWidgetNoConfig.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetNoConfig.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/AppWidgetNoConfig.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetNoConfig.java
diff --git a/tests/src/com/android/launcher3/testcomponent/AppWidgetWithConfig.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetWithConfig.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/AppWidgetWithConfig.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetWithConfig.java
diff --git a/tests/src/com/android/launcher3/testcomponent/AppWidgetWithDialog.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetWithDialog.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/AppWidgetWithDialog.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetWithDialog.java
diff --git a/tests/src/com/android/launcher3/testcomponent/BaseTestingActivity.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/BaseTestingActivity.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/BaseTestingActivity.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/BaseTestingActivity.java
diff --git a/tests/src/com/android/launcher3/testcomponent/CustomShortcutConfigActivity.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/CustomShortcutConfigActivity.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/CustomShortcutConfigActivity.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/CustomShortcutConfigActivity.java
diff --git a/tests/src/com/android/launcher3/testcomponent/DialogTestActivity.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/DialogTestActivity.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/DialogTestActivity.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/DialogTestActivity.java
diff --git a/tests/src/com/android/launcher3/testcomponent/ImeTestActivity.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/ImeTestActivity.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/ImeTestActivity.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/ImeTestActivity.java
diff --git a/tests/src/com/android/launcher3/testcomponent/ListViewService.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/ListViewService.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/ListViewService.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/ListViewService.java
diff --git a/tests/src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java
diff --git a/tests/src/com/android/launcher3/testcomponent/RequestPinItemActivity.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/RequestPinItemActivity.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/RequestPinItemActivity.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/RequestPinItemActivity.java
diff --git a/tests/src/com/android/launcher3/testcomponent/TestCommandProvider.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/TestCommandProvider.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/TestCommandProvider.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/TestCommandProvider.java
diff --git a/tests/src/com/android/launcher3/testcomponent/TestCommandReceiver.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/TestCommandReceiver.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/TestCommandReceiver.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/TestCommandReceiver.java
diff --git a/tests/src/com/android/launcher3/testcomponent/TestLauncherActivity.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/TestLauncherActivity.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/TestLauncherActivity.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/TestLauncherActivity.java
diff --git a/tests/src/com/android/launcher3/testcomponent/TouchEventGenerator.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/TouchEventGenerator.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/TouchEventGenerator.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/TouchEventGenerator.java
diff --git a/tests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java b/tests/multivalentTests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java
similarity index 100%
rename from tests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java
rename to tests/multivalentTests/src/com/android/launcher3/testcomponent/WidgetConfigActivity.java
diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/multivalentTests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
similarity index 100%
rename from tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
rename to tests/multivalentTests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
diff --git a/tests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java b/tests/multivalentTests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java
similarity index 100%
rename from tests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java
rename to tests/multivalentTests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java
diff --git a/tests/src/com/android/launcher3/ui/TestViewHelpers.java b/tests/multivalentTests/src/com/android/launcher3/ui/TestViewHelpers.java
similarity index 100%
rename from tests/src/com/android/launcher3/ui/TestViewHelpers.java
rename to tests/multivalentTests/src/com/android/launcher3/ui/TestViewHelpers.java
diff --git a/tests/src/com/android/launcher3/util/ActivityContextWrapper.java b/tests/multivalentTests/src/com/android/launcher3/util/ActivityContextWrapper.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/ActivityContextWrapper.java
rename to tests/multivalentTests/src/com/android/launcher3/util/ActivityContextWrapper.java
diff --git a/tests/src/com/android/launcher3/util/ExecutorRunnableTest.kt b/tests/multivalentTests/src/com/android/launcher3/util/ExecutorRunnableTest.kt
similarity index 74%
rename from tests/src/com/android/launcher3/util/ExecutorRunnableTest.kt
rename to tests/multivalentTests/src/com/android/launcher3/util/ExecutorRunnableTest.kt
index 972b592..6634577 100644
--- a/tests/src/com/android/launcher3/util/ExecutorRunnableTest.kt
+++ b/tests/multivalentTests/src/com/android/launcher3/util/ExecutorRunnableTest.kt
@@ -20,6 +20,7 @@
 import androidx.test.filters.SmallTest
 import com.android.launcher3.util.rule.TestStabilityRule
 import java.util.concurrent.ExecutorService
+import java.util.concurrent.locks.ReentrantLock
 import junit.framework.Assert.assertEquals
 import junit.framework.Assert.assertFalse
 import junit.framework.Assert.assertTrue
@@ -35,6 +36,7 @@
 
     private lateinit var underTest: ExecutorRunnable<Int>
 
+    private val lock = ReentrantLock()
     private var result: Int = -1
     private var isTaskExecuted = false
     private var isCallbackExecuted = false
@@ -44,6 +46,10 @@
     @Before
     fun setup() {
         reset()
+        submitJob()
+    }
+
+    private fun submitJob() {
         underTest =
             ExecutorRunnable.createAndExecute(
                 Executors.UI_HELPER_EXECUTOR,
@@ -69,13 +75,36 @@
     }
 
     @Test
-    @TestStabilityRule.Stability(
-        flavors = TestStabilityRule.LOCAL or TestStabilityRule.PLATFORM_POSTSUBMIT
-    ) // b/316588649
-    fun run_and_cancel_cancelCallback() {
-        underTest.cancel(false)
+    fun run_and_cancel_cancelTaskAndCallback() {
         awaitAllExecutorCompleted()
+        reset()
+        lock.lock()
+        Executors.UI_HELPER_EXECUTOR.submit { lock.lock() }
+        submitJob()
 
+        underTest.cancel(false)
+
+        lock.unlock() // unblock task on UI_HELPER_EXECUTOR
+        awaitAllExecutorCompleted()
+        assertFalse("task should not be executed.", isTaskExecuted)
+        assertFalse("callback should not be executed.", isCallbackExecuted)
+        assertEquals(0, result)
+    }
+
+    @Test
+    fun run_and_cancel_cancelCallback() {
+        awaitAllExecutorCompleted()
+        reset()
+        lock.lock()
+        Executors.VIEW_PREINFLATION_EXECUTOR.submit { lock.lock() }
+        submitJob()
+        awaitExecutorCompleted(Executors.UI_HELPER_EXECUTOR)
+        assertTrue("task should be executed.", isTaskExecuted)
+
+        underTest.cancel(false)
+
+        lock.unlock() // unblock callback on VIEW_PREINFLATION_EXECUTOR
+        awaitExecutorCompleted(Executors.VIEW_PREINFLATION_EXECUTOR)
         assertFalse("callback should not be executed.", isCallbackExecuted)
         assertEquals(0, result)
     }
diff --git a/tests/src/com/android/launcher3/util/GridOccupancyTest.java b/tests/multivalentTests/src/com/android/launcher3/util/GridOccupancyTest.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/GridOccupancyTest.java
rename to tests/multivalentTests/src/com/android/launcher3/util/GridOccupancyTest.java
diff --git a/tests/src/com/android/launcher3/util/IconSizeStepsTest.kt b/tests/multivalentTests/src/com/android/launcher3/util/IconSizeStepsTest.kt
similarity index 100%
rename from tests/src/com/android/launcher3/util/IconSizeStepsTest.kt
rename to tests/multivalentTests/src/com/android/launcher3/util/IconSizeStepsTest.kt
diff --git a/tests/src/com/android/launcher3/util/IntArrayTest.java b/tests/multivalentTests/src/com/android/launcher3/util/IntArrayTest.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/IntArrayTest.java
rename to tests/multivalentTests/src/com/android/launcher3/util/IntArrayTest.java
diff --git a/tests/src/com/android/launcher3/util/IntSetTest.java b/tests/multivalentTests/src/com/android/launcher3/util/IntSetTest.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/IntSetTest.java
rename to tests/multivalentTests/src/com/android/launcher3/util/IntSetTest.java
diff --git a/tests/src/com/android/launcher3/util/LauncherLayoutBuilder.java b/tests/multivalentTests/src/com/android/launcher3/util/LauncherLayoutBuilder.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/LauncherLayoutBuilder.java
rename to tests/multivalentTests/src/com/android/launcher3/util/LauncherLayoutBuilder.java
diff --git a/tests/src/com/android/launcher3/util/LauncherModelHelper.java b/tests/multivalentTests/src/com/android/launcher3/util/LauncherModelHelper.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/LauncherModelHelper.java
rename to tests/multivalentTests/src/com/android/launcher3/util/LauncherModelHelper.java
diff --git a/tests/src/com/android/launcher3/util/ModelTestExtensions.kt b/tests/multivalentTests/src/com/android/launcher3/util/ModelTestExtensions.kt
similarity index 100%
rename from tests/src/com/android/launcher3/util/ModelTestExtensions.kt
rename to tests/multivalentTests/src/com/android/launcher3/util/ModelTestExtensions.kt
diff --git a/tests/src/com/android/launcher3/util/MultiPropertyFactoryTest.kt b/tests/multivalentTests/src/com/android/launcher3/util/MultiPropertyFactoryTest.kt
similarity index 100%
rename from tests/src/com/android/launcher3/util/MultiPropertyFactoryTest.kt
rename to tests/multivalentTests/src/com/android/launcher3/util/MultiPropertyFactoryTest.kt
diff --git a/tests/src/com/android/launcher3/util/MultiScalePropertyTest.kt b/tests/multivalentTests/src/com/android/launcher3/util/MultiScalePropertyTest.kt
similarity index 100%
rename from tests/src/com/android/launcher3/util/MultiScalePropertyTest.kt
rename to tests/multivalentTests/src/com/android/launcher3/util/MultiScalePropertyTest.kt
diff --git a/tests/src/com/android/launcher3/util/PackageUserKeyTest.java b/tests/multivalentTests/src/com/android/launcher3/util/PackageUserKeyTest.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/PackageUserKeyTest.java
rename to tests/multivalentTests/src/com/android/launcher3/util/PackageUserKeyTest.java
diff --git a/tests/src/com/android/launcher3/util/ReflectionHelpers.java b/tests/multivalentTests/src/com/android/launcher3/util/ReflectionHelpers.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/ReflectionHelpers.java
rename to tests/multivalentTests/src/com/android/launcher3/util/ReflectionHelpers.java
diff --git a/tests/src/com/android/launcher3/util/TestConstants.java b/tests/multivalentTests/src/com/android/launcher3/util/TestConstants.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/TestConstants.java
rename to tests/multivalentTests/src/com/android/launcher3/util/TestConstants.java
diff --git a/tests/src/com/android/launcher3/util/TestUtil.java b/tests/multivalentTests/src/com/android/launcher3/util/TestUtil.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/TestUtil.java
rename to tests/multivalentTests/src/com/android/launcher3/util/TestUtil.java
diff --git a/tests/src/com/android/launcher3/util/TouchUtilTest.kt b/tests/multivalentTests/src/com/android/launcher3/util/TouchUtilTest.kt
similarity index 100%
rename from tests/src/com/android/launcher3/util/TouchUtilTest.kt
rename to tests/multivalentTests/src/com/android/launcher3/util/TouchUtilTest.kt
diff --git a/tests/src/com/android/launcher3/util/Wait.java b/tests/multivalentTests/src/com/android/launcher3/util/Wait.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/Wait.java
rename to tests/multivalentTests/src/com/android/launcher3/util/Wait.java
diff --git a/tests/src/com/android/launcher3/util/WidgetUtils.java b/tests/multivalentTests/src/com/android/launcher3/util/WidgetUtils.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/WidgetUtils.java
rename to tests/multivalentTests/src/com/android/launcher3/util/WidgetUtils.java
diff --git a/tests/src/com/android/launcher3/util/rule/FailureWatcher.java b/tests/multivalentTests/src/com/android/launcher3/util/rule/FailureWatcher.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/rule/FailureWatcher.java
rename to tests/multivalentTests/src/com/android/launcher3/util/rule/FailureWatcher.java
diff --git a/tests/src/com/android/launcher3/util/rule/SamplerRule.java b/tests/multivalentTests/src/com/android/launcher3/util/rule/SamplerRule.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/rule/SamplerRule.java
rename to tests/multivalentTests/src/com/android/launcher3/util/rule/SamplerRule.java
diff --git a/tests/src/com/android/launcher3/util/rule/ScreenRecordRule.java b/tests/multivalentTests/src/com/android/launcher3/util/rule/ScreenRecordRule.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/rule/ScreenRecordRule.java
rename to tests/multivalentTests/src/com/android/launcher3/util/rule/ScreenRecordRule.java
diff --git a/tests/src/com/android/launcher3/util/rule/SetFlagsRuleExt.kt b/tests/multivalentTests/src/com/android/launcher3/util/rule/SetFlagsRuleExt.kt
similarity index 100%
rename from tests/src/com/android/launcher3/util/rule/SetFlagsRuleExt.kt
rename to tests/multivalentTests/src/com/android/launcher3/util/rule/SetFlagsRuleExt.kt
diff --git a/tests/src/com/android/launcher3/util/rule/ShellCommandRule.java b/tests/multivalentTests/src/com/android/launcher3/util/rule/ShellCommandRule.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/rule/ShellCommandRule.java
rename to tests/multivalentTests/src/com/android/launcher3/util/rule/ShellCommandRule.java
diff --git a/tests/src/com/android/launcher3/util/rule/TestIsolationRule.java b/tests/multivalentTests/src/com/android/launcher3/util/rule/TestIsolationRule.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/rule/TestIsolationRule.java
rename to tests/multivalentTests/src/com/android/launcher3/util/rule/TestIsolationRule.java
diff --git a/tests/src/com/android/launcher3/util/rule/TestStabilityRule.java b/tests/multivalentTests/src/com/android/launcher3/util/rule/TestStabilityRule.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/rule/TestStabilityRule.java
rename to tests/multivalentTests/src/com/android/launcher3/util/rule/TestStabilityRule.java
diff --git a/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt b/tests/multivalentTests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt
similarity index 100%
rename from tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt
rename to tests/multivalentTests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java b/tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java
rename to tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/AnomalyDetector.java b/tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/AnomalyDetector.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/viewcapture_analysis/AnomalyDetector.java
rename to tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/AnomalyDetector.java
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java b/tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java
rename to tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/PositionJumpDetector.java b/tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/PositionJumpDetector.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/viewcapture_analysis/PositionJumpDetector.java
rename to tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/PositionJumpDetector.java
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/ViewCaptureAnalyzer.java b/tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/ViewCaptureAnalyzer.java
similarity index 100%
rename from tests/src/com/android/launcher3/util/viewcapture_analysis/ViewCaptureAnalyzer.java
rename to tests/multivalentTests/src/com/android/launcher3/util/viewcapture_analysis/ViewCaptureAnalyzer.java
diff --git a/tests/tapl/AndroidManifest.xml b/tests/multivalentTests/tapl/AndroidManifest.xml
similarity index 100%
rename from tests/tapl/AndroidManifest.xml
rename to tests/multivalentTests/tapl/AndroidManifest.xml
diff --git a/tests/tapl/README b/tests/multivalentTests/tapl/README
similarity index 100%
rename from tests/tapl/README
rename to tests/multivalentTests/tapl/README
diff --git a/tests/tapl/com/android/launcher3/tapl/AddToHomeScreenPrompt.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/AddToHomeScreenPrompt.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/AddToHomeScreenPrompt.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/AddToHomeScreenPrompt.java
diff --git a/tests/tapl/com/android/launcher3/tapl/AllApps.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/AllApps.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/AllApps.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/AllApps.java
diff --git a/tests/tapl/com/android/launcher3/tapl/AllAppsAppIcon.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/AllAppsAppIcon.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/AllAppsAppIcon.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/AllAppsAppIcon.java
diff --git a/tests/tapl/com/android/launcher3/tapl/AllAppsQsb.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/AllAppsQsb.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/AllAppsQsb.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/AllAppsQsb.java
diff --git a/tests/tapl/com/android/launcher3/tapl/AppIcon.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/AppIcon.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/AppIcon.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/AppIcon.java
diff --git a/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/AppIconMenu.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/AppIconMenu.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/AppIconMenu.java
diff --git a/tests/tapl/com/android/launcher3/tapl/AppIconMenuItem.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/AppIconMenuItem.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/AppIconMenuItem.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/AppIconMenuItem.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Background.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Background.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Background.java
diff --git a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/BaseOverview.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/BaseOverview.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/BaseOverview.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Folder.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Folder.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Folder.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Folder.java
diff --git a/tests/tapl/com/android/launcher3/tapl/FolderDragTarget.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/FolderDragTarget.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/FolderDragTarget.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/FolderDragTarget.java
diff --git a/tests/tapl/com/android/launcher3/tapl/FolderIcon.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/FolderIcon.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/FolderIcon.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/FolderIcon.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Home.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Home.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Home.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Home.java
diff --git a/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeAllApps.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/HomeAllApps.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeAllApps.java
diff --git a/tests/tapl/com/android/launcher3/tapl/HomeAppIcon.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeAppIcon.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/HomeAppIcon.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeAppIcon.java
diff --git a/tests/tapl/com/android/launcher3/tapl/HomeAppIconMenu.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeAppIconMenu.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/HomeAppIconMenu.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeAppIconMenu.java
diff --git a/tests/tapl/com/android/launcher3/tapl/HomeAppIconMenuItem.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeAppIconMenuItem.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/HomeAppIconMenuItem.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeAppIconMenuItem.java
diff --git a/tests/tapl/com/android/launcher3/tapl/HomeQsb.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeQsb.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/HomeQsb.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/HomeQsb.java
diff --git a/tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitch.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitch.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitch.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitch.java
diff --git a/tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitchSource.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitchSource.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitchSource.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitchSource.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Launchable.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Launchable.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Launchable.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Launchable.java
diff --git a/tests/tapl/com/android/launcher3/tapl/LaunchedAppState.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/LaunchedAppState.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/LaunchedAppState.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/LaunchedAppState.java
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
diff --git a/tests/tapl/com/android/launcher3/tapl/LogEventChecker.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/LogEventChecker.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/LogEventChecker.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/LogEventChecker.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Overview.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Overview.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Overview.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Overview.java
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewActions.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/OverviewActions.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/OverviewActions.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/OverviewActions.java
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/OverviewTask.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/OverviewTask.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/OverviewTask.java
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewTaskMenu.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/OverviewTaskMenu.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/OverviewTaskMenu.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/OverviewTaskMenu.java
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewTaskMenuItem.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/OverviewTaskMenuItem.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/OverviewTaskMenuItem.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/OverviewTaskMenuItem.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Qsb.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Qsb.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Qsb.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Qsb.java
diff --git a/tests/tapl/com/android/launcher3/tapl/SearchInputSource.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/SearchInputSource.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/SearchInputSource.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/SearchInputSource.java
diff --git a/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java
diff --git a/tests/tapl/com/android/launcher3/tapl/SearchResultFromTaskbarQsb.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/SearchResultFromTaskbarQsb.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/SearchResultFromTaskbarQsb.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/SearchResultFromTaskbarQsb.java
diff --git a/tests/tapl/com/android/launcher3/tapl/SearchWebSuggestion.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/SearchWebSuggestion.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/SearchWebSuggestion.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/SearchWebSuggestion.java
diff --git a/tests/tapl/com/android/launcher3/tapl/SelectModeButtons.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/SelectModeButtons.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/SelectModeButtons.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/SelectModeButtons.java
diff --git a/tests/tapl/com/android/launcher3/tapl/SplitScreenMenuItem.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/SplitScreenMenuItem.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/SplitScreenMenuItem.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/SplitScreenMenuItem.java
diff --git a/tests/tapl/com/android/launcher3/tapl/SplitScreenSelect.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/SplitScreenSelect.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/SplitScreenSelect.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/SplitScreenSelect.java
diff --git a/tests/tapl/com/android/launcher3/tapl/SplitscreenDragSource.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/SplitscreenDragSource.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/SplitscreenDragSource.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/SplitscreenDragSource.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Taskbar.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Taskbar.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Taskbar.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Taskbar.java
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarAllApps.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAllApps.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/TaskbarAllApps.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAllApps.java
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarAllAppsQsb.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAllAppsQsb.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/TaskbarAllAppsQsb.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAllAppsQsb.java
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarAppIcon.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAppIcon.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/TaskbarAppIcon.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAppIcon.java
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenu.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenu.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenu.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenu.java
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenuItem.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenuItem.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenuItem.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenuItem.java
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarSearchWebSuggestion.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarSearchWebSuggestion.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/TaskbarSearchWebSuggestion.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/TaskbarSearchWebSuggestion.java
diff --git a/tests/tapl/com/android/launcher3/tapl/TestHelpers.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/TestHelpers.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/TestHelpers.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/TestHelpers.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Widget.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Widget.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Widget.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Widget.java
diff --git a/tests/tapl/com/android/launcher3/tapl/WidgetResizeFrame.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/WidgetResizeFrame.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/WidgetResizeFrame.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/WidgetResizeFrame.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Widgets.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Widgets.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Widgets.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Widgets.java
diff --git a/tests/tapl/com/android/launcher3/tapl/Workspace.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/Workspace.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/Workspace.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/Workspace.java
diff --git a/tests/tapl/com/android/launcher3/tapl/WorkspaceAppIcon.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/WorkspaceAppIcon.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/WorkspaceAppIcon.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/WorkspaceAppIcon.java
diff --git a/tests/tapl/com/android/launcher3/tapl/WorkspaceDragSource.java b/tests/multivalentTests/tapl/com/android/launcher3/tapl/WorkspaceDragSource.java
similarity index 100%
rename from tests/tapl/com/android/launcher3/tapl/WorkspaceDragSource.java
rename to tests/multivalentTests/tapl/com/android/launcher3/tapl/WorkspaceDragSource.java
diff --git a/tests/multivalentTestsForDevice b/tests/multivalentTestsForDevice
new file mode 120000
index 0000000..20ee34a
--- /dev/null
+++ b/tests/multivalentTestsForDevice
@@ -0,0 +1 @@
+multivalentTests
\ No newline at end of file
diff --git a/tests/multivalentTestsForDeviceless b/tests/multivalentTestsForDeviceless
new file mode 120000
index 0000000..20ee34a
--- /dev/null
+++ b/tests/multivalentTestsForDeviceless
@@ -0,0 +1 @@
+multivalentTests
\ No newline at end of file
diff --git a/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java b/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java
index f4a2906..69edd0f 100644
--- a/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java
+++ b/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java
@@ -47,7 +47,9 @@
 import com.android.launcher3.util.rule.TestStabilityRule;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TestRule;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
@@ -59,6 +61,9 @@
 @RunWith(AndroidJUnit4.class)
 public class PrivateProfileManagerTest {
 
+    @Rule(order = 0)
+    public TestRule testStabilityRule = new TestStabilityRule();
+
     private static final UserHandle MAIN_HANDLE = Process.myUserHandle();
     private static final UserHandle PRIVATE_HANDLE = new UserHandle(11);
     private static final UserIconInfo MAIN_ICON_INFO =