Responsive grid cleanup

This CL renames some of the variables to keep it consistent across the code. It removes workarounds that were made to facilitate easy code reviews without breaking the tests.
It is a cleanup of the responsive grid feature.

Bug: 299889733
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Test: CalculatedAllAppsSpecTest
Test: CalculatedFolderSpecTest
Test: CalculatedHotseatSpecTest
Test: CalculatedWorkspaceSpecTest
Test: AllAppsSpecsTest
Test: FolderSpecTest
Test: HotseatSpecsTest
Test: WorkspaceSpecsTest
Change-Id: I198fadfbcfc0d1b32a62a3076949b42ee1fbcf33
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 1a960f5..3682830 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -261,7 +261,7 @@
 
     <!--  Responsive grids attributes  -->
     <declare-styleable name="ResponsiveSpec">
-        <attr name="specType" format="integer">
+        <attr name="dimensionType" format="integer">
             <enum name="height" value="0" />
             <enum name="width" value="1" />
         </attr>
@@ -273,22 +273,22 @@
     </declare-styleable>
 
     <declare-styleable name="WorkspaceSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="FolderSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="AllAppsSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="HotseatSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index a8266ec..fed031b 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -118,10 +118,10 @@
 
     // Responsive grid
     private final boolean mIsResponsiveGrid;
-    private CalculatedResponsiveSpec mResponsiveWidthSpec;
-    private CalculatedResponsiveSpec mResponsiveHeightSpec;
-    private CalculatedResponsiveSpec mAllAppsResponsiveWidthSpec;
-    private CalculatedResponsiveSpec mAllAppsResponsiveHeightSpec;
+    private CalculatedResponsiveSpec mResponsiveWorkspaceWidthSpec;
+    private CalculatedResponsiveSpec mResponsiveWorkspaceHeightSpec;
+    private CalculatedResponsiveSpec mResponsiveAllAppsWidthSpec;
+    private CalculatedResponsiveSpec mResponsiveAllAppsHeightSpec;
     private CalculatedResponsiveSpec mResponsiveFolderWidthSpec;
     private CalculatedResponsiveSpec mResponsiveFolderHeightSpec;
     private CalculatedHotseatSpec mResponsiveHotseatSpec;
@@ -602,21 +602,21 @@
                     new ResourceHelper(context,
                             isTwoPanels ? inv.workspaceSpecsTwoPanelId : inv.workspaceSpecsId),
                     ResponsiveSpecType.Workspace);
-            mResponsiveWidthSpec = workspaceSpecs.getCalculatedSpec(responsiveAspectRatio,
+            mResponsiveWorkspaceWidthSpec = workspaceSpecs.getCalculatedSpec(responsiveAspectRatio,
                     DimensionType.WIDTH, numWorkspaceColumns, availableResponsiveWidth);
-            mResponsiveHeightSpec = workspaceSpecs.getCalculatedSpec(responsiveAspectRatio,
+            mResponsiveWorkspaceHeightSpec = workspaceSpecs.getCalculatedSpec(responsiveAspectRatio,
                     DimensionType.HEIGHT, inv.numRows, availableResponsiveHeight);
 
             ResponsiveSpecsProvider allAppsSpecs = ResponsiveSpecsProvider.create(
                     new ResourceHelper(context,
                             isTwoPanels ? inv.allAppsSpecsTwoPanelId : inv.allAppsSpecsId),
                     ResponsiveSpecType.AllApps);
-            mAllAppsResponsiveWidthSpec = allAppsSpecs.getCalculatedSpec(responsiveAspectRatio,
+            mResponsiveAllAppsWidthSpec = allAppsSpecs.getCalculatedSpec(responsiveAspectRatio,
                     DimensionType.WIDTH, numAllAppsColumns, availableWidthPx,
-                    mResponsiveWidthSpec);
-            mAllAppsResponsiveHeightSpec = allAppsSpecs.getCalculatedSpec(responsiveAspectRatio,
+                    mResponsiveWorkspaceWidthSpec);
+            mResponsiveAllAppsHeightSpec = allAppsSpecs.getCalculatedSpec(responsiveAspectRatio,
                     DimensionType.HEIGHT, inv.numRows,  heightPx - mInsets.top,
-                    mResponsiveHeightSpec);
+                    mResponsiveWorkspaceHeightSpec);
 
             ResponsiveSpecsProvider folderSpecs = ResponsiveSpecsProvider.create(
                     new ResourceHelper(context,
@@ -624,12 +624,12 @@
                     ResponsiveSpecType.Folder);
             mResponsiveFolderWidthSpec = folderSpecs.getCalculatedSpec(responsiveAspectRatio,
                     DimensionType.WIDTH, inv.numFolderColumns,
-                    mResponsiveWidthSpec.getAvailableSpace(),
-                    mResponsiveWidthSpec);
+                    mResponsiveWorkspaceWidthSpec.getAvailableSpace(),
+                    mResponsiveWorkspaceWidthSpec);
             mResponsiveFolderHeightSpec = folderSpecs.getCalculatedSpec(responsiveAspectRatio,
                     DimensionType.HEIGHT, inv.numFolderRows,
-                    mResponsiveHeightSpec.getAvailableSpace(),
-                    mResponsiveHeightSpec);
+                    mResponsiveWorkspaceHeightSpec.getAvailableSpace(),
+                    mResponsiveWorkspaceHeightSpec);
         }
 
         desiredWorkspaceHorizontalMarginPx = getHorizontalMarginPx(inv, res);
@@ -759,7 +759,7 @@
 
     private int getHorizontalMarginPx(InvariantDeviceProfile idp, Resources res) {
         if (mIsResponsiveGrid) {
-            return mResponsiveWidthSpec.getStartPaddingPx();
+            return mResponsiveWorkspaceWidthSpec.getStartPaddingPx();
         }
 
         if (isVerticalBarLayout()) {
@@ -775,8 +775,8 @@
             InvariantDeviceProfile inv,
             int extraSpace) {
         if (mIsResponsiveGrid) {
-            workspaceTopPadding = mResponsiveHeightSpec.getStartPaddingPx();
-            workspaceBottomPadding = mResponsiveHeightSpec.getEndPaddingPx();
+            workspaceTopPadding = mResponsiveWorkspaceHeightSpec.getStartPaddingPx();
+            workspaceBottomPadding = mResponsiveWorkspaceHeightSpec.getEndPaddingPx();
         } else if (mIsScalableGrid && inv.devicePaddingId != INVALID_RESOURCE_HANDLE) {
             // Paddings were created assuming no scaling, so we first unscale the extra space.
             int unscaledExtraSpace = (int) (extraSpace / cellScaleToFit);
@@ -872,8 +872,8 @@
         int verticalSpacePx = 0;
 
         if (mIsResponsiveGrid) {
-            horizontalSpacePx = mResponsiveWidthSpec.getGutterPx();
-            verticalSpacePx = mResponsiveHeightSpec.getGutterPx();
+            horizontalSpacePx = mResponsiveWorkspaceWidthSpec.getGutterPx();
+            verticalSpacePx = mResponsiveWorkspaceHeightSpec.getGutterPx();
         } else if (mIsScalableGrid) {
             horizontalSpacePx = pxFromDp(idp.borderSpaces[mTypeIndex].x, mMetrics, scale);
             verticalSpacePx = pxFromDp(idp.borderSpaces[mTypeIndex].y, mMetrics, scale);
@@ -1060,8 +1060,8 @@
         cellLayoutBorderSpacePx = getCellLayoutBorderSpace(inv, scale);
 
         if (mIsResponsiveGrid) {
-            cellWidthPx = mResponsiveWidthSpec.getCellSizePx();
-            cellHeightPx = mResponsiveHeightSpec.getCellSizePx();
+            cellWidthPx = mResponsiveWorkspaceWidthSpec.getCellSizePx();
+            cellHeightPx = mResponsiveWorkspaceHeightSpec.getCellSizePx();
 
             if (cellWidthPx < iconSizePx) {
                 // get a smaller icon size
@@ -1266,24 +1266,24 @@
 
     private void updateAllAppsWithResponsiveMeasures(Resources res) {
         allAppsBorderSpacePx = new Point(
-                mAllAppsResponsiveWidthSpec.getGutterPx(),
-                mAllAppsResponsiveHeightSpec.getGutterPx()
+                mResponsiveAllAppsWidthSpec.getGutterPx(),
+                mResponsiveAllAppsHeightSpec.getGutterPx()
         );
-        allAppsCellHeightPx = mAllAppsResponsiveHeightSpec.getCellSizePx()
-                + mAllAppsResponsiveHeightSpec.getGutterPx();
-        allAppsCellWidthPx = mAllAppsResponsiveWidthSpec.getCellSizePx();
+        allAppsCellHeightPx = mResponsiveAllAppsHeightSpec.getCellSizePx()
+                + mResponsiveAllAppsHeightSpec.getGutterPx();
+        allAppsCellWidthPx = mResponsiveAllAppsWidthSpec.getCellSizePx();
 
         // This workaround is needed to align AllApps icons with Workspace icons
         // since AllApps doesn't have borders between cells
         int halfBorder = allAppsBorderSpacePx.x / 2;
-        allAppsPadding.left = mAllAppsResponsiveWidthSpec.getStartPaddingPx() - halfBorder;
-        allAppsPadding.right = mAllAppsResponsiveWidthSpec.getEndPaddingPx() - halfBorder;
+        allAppsPadding.left = mResponsiveAllAppsWidthSpec.getStartPaddingPx() - halfBorder;
+        allAppsPadding.right = mResponsiveAllAppsWidthSpec.getEndPaddingPx() - halfBorder;
 
         // TODO(b/287975993): Remove this after icon size is extracted to responsive grid
         // Copy icon size from the workspace when spec is matchWorkspace or
         // use the default all apps icon size
-        if (mAllAppsResponsiveHeightSpec.isCellSizeMatchWorkspace()
-                || mAllAppsResponsiveWidthSpec.isCellSizeMatchWorkspace()) {
+        if (mResponsiveAllAppsHeightSpec.isCellSizeMatchWorkspace()
+                || mResponsiveAllAppsWidthSpec.isCellSizeMatchWorkspace()) {
             allAppsIconSizePx = iconSizePx;
             allAppsIconTextSizePx = iconTextSizePx;
             allAppsIconDrawablePaddingPx = iconDrawablePaddingPx;
@@ -1588,15 +1588,17 @@
         Rect padding = workspacePadding;
         if (isVerticalBarLayout()) {
             if (mIsResponsiveGrid) {
-                padding.top = mResponsiveHeightSpec.getStartPaddingPx();
+                padding.top = mResponsiveWorkspaceHeightSpec.getStartPaddingPx();
                 padding.bottom = Math.max(0,
-                        mResponsiveHeightSpec.getEndPaddingPx() - mInsets.bottom);
+                        mResponsiveWorkspaceHeightSpec.getEndPaddingPx() - mInsets.bottom);
                 if (isSeascape()) {
-                    padding.left = hotseatBarSizePx + mResponsiveWidthSpec.getEndPaddingPx();
-                    padding.right = mResponsiveWidthSpec.getStartPaddingPx();
+                    padding.left =
+                            hotseatBarSizePx + mResponsiveWorkspaceWidthSpec.getEndPaddingPx();
+                    padding.right = mResponsiveWorkspaceWidthSpec.getStartPaddingPx();
                 } else {
-                    padding.left = mResponsiveWidthSpec.getStartPaddingPx();
-                    padding.right = hotseatBarSizePx + mResponsiveWidthSpec.getEndPaddingPx();
+                    padding.left = mResponsiveWorkspaceWidthSpec.getStartPaddingPx();
+                    padding.right =
+                            hotseatBarSizePx + mResponsiveWorkspaceWidthSpec.getEndPaddingPx();
                 }
             } else {
                 padding.top = 0;
@@ -2118,12 +2120,14 @@
         writer.println(prefix + pxToDpStr("getCellLayoutHeight()", getCellLayoutHeight()));
         writer.println(prefix + pxToDpStr("getCellLayoutWidth()", getCellLayoutWidth()));
         if (mIsResponsiveGrid) {
-            writer.println(prefix + "\tmResponsiveHeightSpec:" + mResponsiveHeightSpec.toString());
-            writer.println(prefix + "\tmResponsiveWidthSpec:" + mResponsiveWidthSpec.toString());
-            writer.println(prefix + "\tmAllAppsResponsiveHeightSpec:"
-                    + mAllAppsResponsiveHeightSpec.toString());
-            writer.println(prefix + "\tmAllAppsResponsiveWidthSpec:"
-                    + mAllAppsResponsiveWidthSpec.toString());
+            writer.println(prefix + "\tmResponsiveWorkspaceHeightSpec:"
+                    + mResponsiveWorkspaceHeightSpec.toString());
+            writer.println(prefix + "\tmResponsiveWorkspaceWidthSpec:"
+                    + mResponsiveWorkspaceWidthSpec.toString());
+            writer.println(prefix + "\tmResponsiveAllAppsHeightSpec:"
+                    + mResponsiveAllAppsHeightSpec.toString());
+            writer.println(prefix + "\tmResponsiveAllAppsWidthSpec:"
+                    + mResponsiveAllAppsWidthSpec.toString());
             writer.println(prefix + "\tmResponsiveFolderHeightSpec:" + mResponsiveFolderHeightSpec);
             writer.println(prefix + "\tmResponsiveFolderWidthSpec:" + mResponsiveFolderWidthSpec);
             writer.println(prefix + "\tmResponsiveHotseatSpec:" + mResponsiveHotseatSpec);
diff --git a/src/com/android/launcher3/responsive/HotseatSpecsProvider.kt b/src/com/android/launcher3/responsive/HotseatSpecsProvider.kt
index 7f7f2f1..8710303 100644
--- a/src/com/android/launcher3/responsive/HotseatSpecsProvider.kt
+++ b/src/com/android/launcher3/responsive/HotseatSpecsProvider.kt
@@ -74,7 +74,7 @@
         dimensionType =
             DimensionType.entries[
                     attrs.getInt(
-                        R.styleable.ResponsiveSpec_specType,
+                        R.styleable.ResponsiveSpec_dimensionType,
                         DimensionType.HEIGHT.ordinal
                     )],
         specType = responsiveSpecType,
diff --git a/src/com/android/launcher3/responsive/ResponsiveSpec.kt b/src/com/android/launcher3/responsive/ResponsiveSpec.kt
index 631a905..413e2dc 100644
--- a/src/com/android/launcher3/responsive/ResponsiveSpec.kt
+++ b/src/com/android/launcher3/responsive/ResponsiveSpec.kt
@@ -72,7 +72,7 @@
         dimensionType =
             DimensionType.entries[
                     attrs.getInt(
-                        R.styleable.ResponsiveSpec_specType,
+                        R.styleable.ResponsiveSpec_dimensionType,
                         DimensionType.HEIGHT.ordinal
                     )],
         specType = responsiveSpecType,
@@ -137,6 +137,9 @@
  * they are calculated from the available space, cells and workspace specs.
  */
 class CalculatedResponsiveSpec {
+    var aspectRatio: Float = Float.NaN
+        private set
+
     var availableSpace: Int = 0
         private set
 
@@ -159,11 +162,13 @@
         private set
 
     constructor(
+        aspectRatio: Float,
         availableSpace: Int,
         cells: Int,
         spec: ResponsiveSpec,
         calculatedWorkspaceSpec: CalculatedResponsiveSpec
     ) {
+        this.aspectRatio = aspectRatio
         this.availableSpace = availableSpace
         this.cells = cells
         this.spec = spec
@@ -183,7 +188,8 @@
         updateRemainderSpaces(availableSpace, cells, spec)
     }
 
-    constructor(availableSpace: Int, cells: Int, spec: ResponsiveSpec) {
+    constructor(aspectRatio: Float, availableSpace: Int, cells: Int, spec: ResponsiveSpec) {
+        this.aspectRatio = aspectRatio
         this.availableSpace = availableSpace
         this.cells = cells
         this.spec = spec
@@ -239,6 +245,7 @@
         return "Calculated${spec.specType}Spec(" +
             "availableSpace=$availableSpace, cells=$cells, startPaddingPx=$startPaddingPx, " +
             "endPaddingPx=$endPaddingPx, gutterPx=$gutterPx, cellSizePx=$cellSizePx, " +
+            "aspectRatio=${aspectRatio}, " +
             "${spec.specType}Spec.maxAvailableSize=${spec.maxAvailableSize}" +
             ")"
     }
diff --git a/src/com/android/launcher3/responsive/ResponsiveSpecsProvider.kt b/src/com/android/launcher3/responsive/ResponsiveSpecsProvider.kt
index bc2f4c5..67eaac0 100644
--- a/src/com/android/launcher3/responsive/ResponsiveSpecsProvider.kt
+++ b/src/com/android/launcher3/responsive/ResponsiveSpecsProvider.kt
@@ -76,7 +76,7 @@
     ): CalculatedResponsiveSpec {
         val specsGroup = getSpecsByAspectRatio(aspectRatio)
         val spec = specsGroup.getSpec(dimensionType, availableSpace)
-        return CalculatedResponsiveSpec(availableSpace, numCells, spec)
+        return CalculatedResponsiveSpec(aspectRatio, availableSpace, numCells, spec)
     }
 
     /**
@@ -114,7 +114,13 @@
 
         val specsGroup = getSpecsByAspectRatio(aspectRatio)
         val spec = specsGroup.getSpec(dimensionType, availableSpace)
-        return CalculatedResponsiveSpec(availableSpace, numCells, spec, calculatedWorkspaceSpec)
+        return CalculatedResponsiveSpec(
+            aspectRatio,
+            availableSpace,
+            numCells,
+            spec,
+            calculatedWorkspaceSpec
+        )
     }
 
     companion object {
diff --git a/tests/res/values/attrs.xml b/tests/res/values/attrs.xml
index 4ba4fc7..2a7a346 100644
--- a/tests/res/values/attrs.xml
+++ b/tests/res/values/attrs.xml
@@ -19,7 +19,7 @@
 <resources>
     <!--  Responsive grids attributes  -->
     <declare-styleable name="ResponsiveSpec">
-        <attr name="specType" format="integer">
+        <attr name="dimensionType" format="integer">
             <enum name="height" value="0" />
             <enum name="width" value="1" />
         </attr>
@@ -31,17 +31,17 @@
     </declare-styleable>
 
     <declare-styleable name="WorkspaceSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="FolderSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="AllAppsSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
diff --git a/tests/res/xml/invalid_all_apps_file_case_1.xml b/tests/res/xml/invalid_all_apps_file_case_1.xml
index f09ecd8..d89e675 100644
--- a/tests/res/xml/invalid_all_apps_file_case_1.xml
+++ b/tests/res/xml/invalid_all_apps_file_case_1.xml
@@ -16,7 +16,7 @@
 <allAppsSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <allAppsSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <!--  missing startPadding  -->
             <endPadding launcher:fixedSize="0dp" />
@@ -25,7 +25,7 @@
         </allAppsSpec>
 
         <allAppsSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:matchWorkspace="true" />
             <endPadding launcher:matchWorkspace="true" />
diff --git a/tests/res/xml/invalid_all_apps_file_case_2.xml b/tests/res/xml/invalid_all_apps_file_case_2.xml
index 7644def..d5540f2 100644
--- a/tests/res/xml/invalid_all_apps_file_case_2.xml
+++ b/tests/res/xml/invalid_all_apps_file_case_2.xml
@@ -16,7 +16,7 @@
 <allAppsSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <allAppsSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="0dp" />
@@ -28,7 +28,7 @@
         </allAppsSpec>
 
         <allAppsSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:matchWorkspace="true" />
             <endPadding launcher:matchWorkspace="true" />
diff --git a/tests/res/xml/invalid_all_apps_file_case_3.xml b/tests/res/xml/invalid_all_apps_file_case_3.xml
index 5a3bc64..75c2172 100644
--- a/tests/res/xml/invalid_all_apps_file_case_3.xml
+++ b/tests/res/xml/invalid_all_apps_file_case_3.xml
@@ -16,7 +16,7 @@
 <allAppsSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <allAppsSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="0dp" />
@@ -26,7 +26,7 @@
         </allAppsSpec>
 
         <allAppsSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:matchWorkspace="true" />
             <endPadding launcher:matchWorkspace="true" />
diff --git a/tests/res/xml/invalid_folders_specs_1.xml b/tests/res/xml/invalid_folders_specs_1.xml
index 1715ffd..6583d62 100644
--- a/tests/res/xml/invalid_folders_specs_1.xml
+++ b/tests/res/xml/invalid_folders_specs_1.xml
@@ -17,13 +17,13 @@
 <!-- Tablet - 6x5 portrait -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
             <!--  missing startPadding  -->
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
             <cellSize launcher:matchWorkspace="true" />
         </folderSpec>
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="9999dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
@@ -31,7 +31,7 @@
         </folderSpec>
 
         <!-- Height spec is fixed -->
-        <folderSpec launcher:specType="height" launcher:maxAvailableSize="9999dp">
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="24dp" />
             <!-- mapped to footer height size -->
             <endPadding launcher:fixedSize="64dp" />
diff --git a/tests/res/xml/invalid_folders_specs_2.xml b/tests/res/xml/invalid_folders_specs_2.xml
index bb26e2e..95ac856 100644
--- a/tests/res/xml/invalid_folders_specs_2.xml
+++ b/tests/res/xml/invalid_folders_specs_2.xml
@@ -17,7 +17,7 @@
 <!-- Tablet - 6x5 portrait -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <!--  more than 1 value in one tag -->
@@ -26,7 +26,7 @@
                 launcher:fixedSize="16dp" />
             <cellSize launcher:matchWorkspace="true" />
         </folderSpec>
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="9999dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
@@ -34,7 +34,7 @@
         </folderSpec>
 
         <!-- Height spec is fixed -->
-        <folderSpec launcher:specType="height" launcher:maxAvailableSize="9999dp">
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="24dp" />
             <!-- mapped to footer height size -->
             <endPadding launcher:fixedSize="64dp" />
diff --git a/tests/res/xml/invalid_folders_specs_3.xml b/tests/res/xml/invalid_folders_specs_3.xml
index cdd8056..f71040d 100644
--- a/tests/res/xml/invalid_folders_specs_3.xml
+++ b/tests/res/xml/invalid_folders_specs_3.xml
@@ -17,14 +17,14 @@
 <!-- Tablet - 6x5 portrait - More the one value first gutter -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
             <!--  value bigger than 1 -->
             <cellSize launcher:ofRemainderSpace="1.001" />
         </folderSpec>
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="9999dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
@@ -32,7 +32,7 @@
         </folderSpec>
 
         <!-- Height spec is fixed -->
-        <folderSpec launcher:specType="height" launcher:maxAvailableSize="9999dp">
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="24dp" />
             <!-- mapped to footer height size -->
             <endPadding launcher:fixedSize="64dp" />
diff --git a/tests/res/xml/invalid_folders_specs_4.xml b/tests/res/xml/invalid_folders_specs_4.xml
index cd5f334..24b8ef6 100644
--- a/tests/res/xml/invalid_folders_specs_4.xml
+++ b/tests/res/xml/invalid_folders_specs_4.xml
@@ -16,7 +16,7 @@
 <!-- missing height spec -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
diff --git a/tests/res/xml/invalid_folders_specs_5.xml b/tests/res/xml/invalid_folders_specs_5.xml
index f554521..6d6f577 100644
--- a/tests/res/xml/invalid_folders_specs_5.xml
+++ b/tests/res/xml/invalid_folders_specs_5.xml
@@ -16,7 +16,7 @@
 <!-- missing breakpoints > 800dp -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
@@ -24,7 +24,7 @@
         </folderSpec>
 
         <!-- Height spec is fixed -->
-        <folderSpec launcher:specType="height" launcher:maxAvailableSize="800dp">
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="800dp">
             <startPadding launcher:fixedSize="24dp" />
             <!-- mapped to footer height size -->
             <endPadding launcher:fixedSize="64dp" />
diff --git a/tests/res/xml/invalid_hotseat_file_case_1.xml b/tests/res/xml/invalid_hotseat_file_case_1.xml
index bd40690..8e0ce2c 100644
--- a/tests/res/xml/invalid_hotseat_file_case_1.xml
+++ b/tests/res/xml/invalid_hotseat_file_case_1.xml
@@ -16,14 +16,14 @@
 <hotseatSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <hotseatSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="847dp">
             <hotseatQsbSpace launcher:ofAvailableSpace="1" />
             <edgePadding launcher:fixedSize="36dp" />
         </hotseatSpec>
 
         <hotseatSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <hotseatQsbSpace launcher:fixedSize="36dp" />
             <edgePadding launcher:fixedSize="36dp" />
diff --git a/tests/res/xml/invalid_responsive_spec_1.xml b/tests/res/xml/invalid_responsive_spec_1.xml
index 7a474bf..d1bcf65 100644
--- a/tests/res/xml/invalid_responsive_spec_1.xml
+++ b/tests/res/xml/invalid_responsive_spec_1.xml
@@ -17,7 +17,7 @@
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <workspaceSpec
         launcher:maxAvailableSize="9999dp"
-        launcher:specType="height">
+        launcher:dimensionType="height">
         <cellSize launcher:fixedSize="104dp" />
         <endPadding launcher:ofRemainderSpace="1" />
         <gutter launcher:fixedSize="16dp" />
@@ -26,7 +26,7 @@
 
     <workspaceSpec
         launcher:maxAvailableSize="9999dp"
-        launcher:specType="width">
+        launcher:dimensionType="width">
         <cellSize launcher:ofRemainderSpace="0.25" />
         <endPadding launcher:fixedSize="22dp" />
         <gutter launcher:fixedSize="16dp" />
diff --git a/tests/res/xml/invalid_responsive_spec_2.xml b/tests/res/xml/invalid_responsive_spec_2.xml
index 6735300..49e1f93 100644
--- a/tests/res/xml/invalid_responsive_spec_2.xml
+++ b/tests/res/xml/invalid_responsive_spec_2.xml
@@ -18,7 +18,7 @@
     <specs launcher:maxAspectRatio="10">
         <workspaceSpec
             launcher:maxAvailableSize="9999dp"
-            launcher:specType="height">
+            launcher:dimensionType="height">
             <cellSize launcher:fixedSize="104dp" />
             <endPadding launcher:ofRemainderSpace="1" />
             <gutter launcher:fixedSize="16dp" />
@@ -27,7 +27,7 @@
 
         <workspaceSpec
             launcher:maxAvailableSize="9999dp"
-            launcher:specType="width">
+            launcher:dimensionType="width">
             <cellSize launcher:ofRemainderSpace="0.25" />
             <endPadding launcher:fixedSize="22dp" />
             <gutter launcher:fixedSize="16dp" />
@@ -37,7 +37,7 @@
 
     <workspaceSpec
         launcher:maxAvailableSize="9999dp"
-        launcher:specType="width">
+        launcher:dimensionType="width">
         <cellSize launcher:ofRemainderSpace="0.25" />
         <endPadding launcher:fixedSize="22dp" />
         <gutter launcher:fixedSize="16dp" />
@@ -45,7 +45,7 @@
     </workspaceSpec>
     <workspaceSpec
         launcher:maxAvailableSize="9999dp"
-        launcher:specType="height">
+        launcher:dimensionType="height">
         <cellSize launcher:fixedSize="104dp" />
         <endPadding launcher:ofRemainderSpace="1" />
         <gutter launcher:fixedSize="16dp" />
diff --git a/tests/res/xml/invalid_responsive_spec_3.xml b/tests/res/xml/invalid_responsive_spec_3.xml
index 72d0c20..37fee06 100644
--- a/tests/res/xml/invalid_responsive_spec_3.xml
+++ b/tests/res/xml/invalid_responsive_spec_3.xml
@@ -18,7 +18,7 @@
     <specs launcher:maxAspectRatio="10">
         <workspaceSpec
             launcher:maxAvailableSize="9999dp"
-            launcher:specType="height">
+            launcher:dimensionType="height">
             <cellSize launcher:fixedSize="104dp" />
             <endPadding launcher:ofRemainderSpace="1" />
             <gutter launcher:fixedSize="16dp" />
@@ -27,7 +27,7 @@
 
         <workspaceSpec
             launcher:maxAvailableSize="9999dp"
-            launcher:specType="width">
+            launcher:dimensionType="width">
             <cellSize launcher:ofRemainderSpace="0.25" />
             <endPadding launcher:fixedSize="22dp" />
             <gutter launcher:fixedSize="16dp" />
@@ -38,7 +38,7 @@
     <specs launcher:maxAspectRatio="0">
         <workspaceSpec
             launcher:maxAvailableSize="9999dp"
-            launcher:specType="height">
+            launcher:dimensionType="height">
             <cellSize launcher:fixedSize="104dp" />
             <endPadding launcher:ofRemainderSpace="1" />
             <gutter launcher:fixedSize="16dp" />
@@ -47,7 +47,7 @@
 
         <workspaceSpec
             launcher:maxAvailableSize="9999dp"
-            launcher:specType="width">
+            launcher:dimensionType="width">
             <cellSize launcher:ofRemainderSpace="0.25" />
             <endPadding launcher:fixedSize="22dp" />
             <gutter launcher:fixedSize="16dp" />
diff --git a/tests/res/xml/invalid_workspace_file_case_1.xml b/tests/res/xml/invalid_workspace_file_case_1.xml
index fc6ff59..7a234d1 100644
--- a/tests/res/xml/invalid_workspace_file_case_1.xml
+++ b/tests/res/xml/invalid_workspace_file_case_1.xml
@@ -17,7 +17,7 @@
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="648dp">
             <!--  missing startPadding  -->
             <endPadding
@@ -29,7 +29,7 @@
         </workspaceSpec>
 
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding
                 launcher:ofAvailableSpace="0.0306" />
@@ -43,7 +43,7 @@
 
         <!-- Width spec is always the same -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding
                 launcher:ofRemainderSpace="0.21436227" />
diff --git a/tests/res/xml/invalid_workspace_file_case_2.xml b/tests/res/xml/invalid_workspace_file_case_2.xml
index 2feeb54..6638285 100644
--- a/tests/res/xml/invalid_workspace_file_case_2.xml
+++ b/tests/res/xml/invalid_workspace_file_case_2.xml
@@ -17,7 +17,7 @@
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="648dp">
             <startPadding
                 launcher:ofAvailableSpace="0.0125" />
@@ -32,7 +32,7 @@
         </workspaceSpec>
 
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding
                 launcher:ofAvailableSpace="0.0306" />
@@ -46,7 +46,7 @@
 
         <!-- Width spec is always the same -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding
                 launcher:ofRemainderSpace="0.21436227" />
diff --git a/tests/res/xml/invalid_workspace_file_case_3.xml b/tests/res/xml/invalid_workspace_file_case_3.xml
index 79e6fbd..cb3e63f 100644
--- a/tests/res/xml/invalid_workspace_file_case_3.xml
+++ b/tests/res/xml/invalid_workspace_file_case_3.xml
@@ -17,7 +17,7 @@
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="648dp">
             <startPadding
                 launcher:ofAvailableSpace="0.0125" />
@@ -31,7 +31,7 @@
         </workspaceSpec>
 
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding
                 launcher:ofAvailableSpace="0.0306" />
@@ -45,7 +45,7 @@
 
         <!-- Width spec is always the same -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding
                 launcher:ofRemainderSpace="0.21436227" />
diff --git a/tests/res/xml/invalid_workspace_file_case_4.xml b/tests/res/xml/invalid_workspace_file_case_4.xml
index 66a2618..901278d 100644
--- a/tests/res/xml/invalid_workspace_file_case_4.xml
+++ b/tests/res/xml/invalid_workspace_file_case_4.xml
@@ -17,7 +17,7 @@
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="648dp">
             <startPadding
                 launcher:ofAvailableSpace="0.0125" />
@@ -31,7 +31,7 @@
         </workspaceSpec>
 
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding
                 launcher:ofAvailableSpace="0.0306" />
@@ -45,7 +45,7 @@
 
         <!-- Width spec is always the same -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding
                 launcher:ofRemainderSpace="0.21436227" />
diff --git a/tests/res/xml/valid_all_apps_file.xml b/tests/res/xml/valid_all_apps_file.xml
index f0967c4..33ea9b6 100644
--- a/tests/res/xml/valid_all_apps_file.xml
+++ b/tests/res/xml/valid_all_apps_file.xml
@@ -17,7 +17,7 @@
 <allAppsSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <allAppsSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="0dp" />
@@ -26,7 +26,7 @@
         </allAppsSpec>
 
         <allAppsSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:matchWorkspace="true" />
             <endPadding launcher:matchWorkspace="true" />
diff --git a/tests/res/xml/valid_folders_specs.xml b/tests/res/xml/valid_folders_specs.xml
index 2ef59a9..ecff9b8 100644
--- a/tests/res/xml/valid_folders_specs.xml
+++ b/tests/res/xml/valid_folders_specs.xml
@@ -15,13 +15,13 @@
   -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
             <cellSize launcher:matchWorkspace="true" />
         </folderSpec>
-        <folderSpec launcher:specType="width" launcher:maxAvailableSize="9999dp">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="16dp" />
             <gutter launcher:fixedSize="16dp" />
@@ -29,7 +29,7 @@
         </folderSpec>
 
         <!-- Height spec is fixed -->
-        <folderSpec launcher:specType="height" launcher:maxAvailableSize="9999dp">
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="24dp" />
             <!-- mapped to footer height size -->
             <endPadding launcher:fixedSize="64dp" />
diff --git a/tests/res/xml/valid_hotseat_file.xml b/tests/res/xml/valid_hotseat_file.xml
index d1c9e49..65c1d8b 100644
--- a/tests/res/xml/valid_hotseat_file.xml
+++ b/tests/res/xml/valid_hotseat_file.xml
@@ -17,14 +17,14 @@
     <specs launcher:maxAspectRatio="10">
         <hotseatSpec
             launcher:maxAvailableSize="847dp"
-            launcher:specType="height">
+            launcher:dimensionType="height">
             <hotseatQsbSpace launcher:fixedSize="24dp" />
             <edgePadding launcher:fixedSize="48dp" />
         </hotseatSpec>
 
         <hotseatSpec
             launcher:maxAvailableSize="9999dp"
-            launcher:specType="height">
+            launcher:dimensionType="height">
             <hotseatQsbSpace launcher:fixedSize="36dp" />
             <edgePadding launcher:fixedSize="48dp" />
         </hotseatSpec>
diff --git a/tests/res/xml/valid_hotseat_land_file.xml b/tests/res/xml/valid_hotseat_land_file.xml
index a72fd18..f67adad 100644
--- a/tests/res/xml/valid_hotseat_land_file.xml
+++ b/tests/res/xml/valid_hotseat_land_file.xml
@@ -17,14 +17,14 @@
     <specs launcher:maxAspectRatio="10">
         <hotseatSpec
             launcher:maxAvailableSize="743dp"
-            launcher:specType="width">
+            launcher:dimensionType="width">
             <hotseatQsbSpace launcher:fixedSize="0dp" />
             <edgePadding launcher:fixedSize="48dp" />
         </hotseatSpec>
 
         <hotseatSpec
             launcher:maxAvailableSize="9999dp"
-            launcher:specType="width">
+            launcher:dimensionType="width">
             <hotseatQsbSpace launcher:fixedSize="0dp" />
             <edgePadding launcher:fixedSize="64dp" />
         </hotseatSpec>
diff --git a/tests/res/xml/valid_responsive_spec_unsorted.xml b/tests/res/xml/valid_responsive_spec_unsorted.xml
index 7cefc8e..9a463d5 100644
--- a/tests/res/xml/valid_responsive_spec_unsorted.xml
+++ b/tests/res/xml/valid_responsive_spec_unsorted.xml
@@ -17,7 +17,7 @@
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="10">
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="34dp" />
@@ -27,7 +27,7 @@
 
         <!-- Height spec -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="371dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="24dp" />
@@ -37,7 +37,7 @@
 
         <!-- Width spec -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="716dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="64dp" />
@@ -45,7 +45,7 @@
             <cellSize launcher:ofRemainderSpace="0.25" />
         </workspaceSpec>
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="36dp" />
             <endPadding launcher:fixedSize="80dp" />
@@ -53,7 +53,7 @@
             <cellSize launcher:ofRemainderSpace="0.25" />
         </workspaceSpec>
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="602dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="36dp" />
@@ -66,7 +66,7 @@
     <specs launcher:maxAspectRatio="12">
         <!-- Height spec -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="2dp" />
             <endPadding launcher:fixedSize="2dp" />
@@ -76,7 +76,7 @@
 
         <!-- Width spec -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="1dp" />
             <endPadding launcher:fixedSize="1dp" />
@@ -88,7 +88,7 @@
     <specs launcher:maxAspectRatio="1.05">
         <!-- 584 grid height + 28 remainder space -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="612dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:ofRemainderSpace="1" />
@@ -97,7 +97,7 @@
         </workspaceSpec>
 
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="8dp" />
             <endPadding launcher:ofRemainderSpace="1" />
@@ -107,7 +107,7 @@
 
         <!-- 584 grid height -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="584dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="32dp" />
@@ -117,7 +117,7 @@
 
         <!-- Width spec is always the same -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="22dp" />
             <endPadding launcher:fixedSize="22dp" />
diff --git a/tests/res/xml/valid_workspace_file.xml b/tests/res/xml/valid_workspace_file.xml
index da5ca11..9c44502 100644
--- a/tests/res/xml/valid_workspace_file.xml
+++ b/tests/res/xml/valid_workspace_file.xml
@@ -18,7 +18,7 @@
     <specs launcher:maxAspectRatio="1.05">
         <!-- 584 grid height -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="584dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="32dp" />
@@ -28,7 +28,7 @@
 
         <!-- 584 grid height + 28 remainder space -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="612dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:ofRemainderSpace="1" />
@@ -37,7 +37,7 @@
         </workspaceSpec>
 
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="8dp" />
             <endPadding launcher:ofRemainderSpace="1" />
@@ -49,7 +49,7 @@
 
         <!-- Width spec is always the same -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="22dp" />
             <endPadding launcher:fixedSize="22dp" />
@@ -62,7 +62,7 @@
     <specs launcher:maxAspectRatio="99999">
         <!-- Height spec -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="371dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="24dp" />
@@ -70,7 +70,7 @@
             <cellSize launcher:ofRemainderSpace="0.25" />
         </workspaceSpec>
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="34dp" />
@@ -80,7 +80,7 @@
 
         <!-- Width spec -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="602dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="36dp" />
@@ -88,7 +88,7 @@
             <cellSize launcher:ofRemainderSpace="0.25" />
         </workspaceSpec>
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="716dp">
             <startPadding launcher:fixedSize="16dp" />
             <endPadding launcher:fixedSize="64dp" />
@@ -96,7 +96,7 @@
             <cellSize launcher:ofRemainderSpace="0.25" />
         </workspaceSpec>
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="36dp" />
             <endPadding launcher:fixedSize="80dp" />
diff --git a/tests/res/xml/valid_workspace_unsorted_file.xml b/tests/res/xml/valid_workspace_unsorted_file.xml
index 9f2bdc3..6bf7c78 100644
--- a/tests/res/xml/valid_workspace_unsorted_file.xml
+++ b/tests/res/xml/valid_workspace_unsorted_file.xml
@@ -17,7 +17,7 @@
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
     <specs launcher:maxAspectRatio="1.05">
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="8dp" />
             <endPadding launcher:ofRemainderSpace="1" />
@@ -27,7 +27,7 @@
 
         <!-- 584 grid height -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="584dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:fixedSize="32dp" />
@@ -37,7 +37,7 @@
 
         <!-- 584 grid height + 28 remainder space -->
         <workspaceSpec
-            launcher:specType="height"
+            launcher:dimensionType="height"
             launcher:maxAvailableSize="612dp">
             <startPadding launcher:fixedSize="0dp" />
             <endPadding launcher:ofRemainderSpace="1" />
@@ -47,7 +47,7 @@
 
         <!-- Width spec is always the same -->
         <workspaceSpec
-            launcher:specType="width"
+            launcher:dimensionType="width"
             launcher:maxAvailableSize="9999dp">
             <startPadding launcher:fixedSize="22dp" />
             <endPadding launcher:fixedSize="22dp" />
diff --git a/tests/src/com/android/launcher3/responsive/FolderSpecTest.kt b/tests/src/com/android/launcher3/responsive/FolderSpecTest.kt
index 1756c9a..5cfa49f 100644
--- a/tests/src/com/android/launcher3/responsive/FolderSpecTest.kt
+++ b/tests/src/com/android/launcher3/responsive/FolderSpecTest.kt
@@ -129,7 +129,8 @@
                 gutter = SizeSpec(fixedSize = 10f),
                 cellSize = SizeSpec(fixedSize = 10f)
             )
-        val calculatedWorkspaceSpec = CalculatedResponsiveSpec(availableSpace, cells, workspaceSpec)
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
 
         val resourceHelper = TestResourceHelper(context, R.xml.invalid_folders_specs_5)
         val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
@@ -157,7 +158,8 @@
                 gutter = SizeSpec(fixedSize = 10f),
                 cellSize = SizeSpec(fixedSize = 10f)
             )
-        val calculatedWorkspaceSpec = CalculatedResponsiveSpec(availableSpace, cells, workspaceSpec)
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
 
         val resourceHelper = TestResourceHelper(context, R.xml.invalid_folders_specs_5)
         val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
@@ -185,7 +187,8 @@
                 gutter = SizeSpec(fixedSize = 10f),
                 cellSize = SizeSpec(fixedSize = 10f)
             )
-        val calculatedWorkspaceSpec = CalculatedResponsiveSpec(availableSpace, cells, workspaceSpec)
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
 
         val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
         val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
@@ -221,7 +224,8 @@
                 gutter = SizeSpec(fixedSize = 10f),
                 cellSize = SizeSpec(fixedSize = 10f)
             )
-        val calculatedWorkspaceSpec = CalculatedResponsiveSpec(availableSpace, cells, workspaceSpec)
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
 
         val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
         val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
@@ -249,7 +253,8 @@
                 gutter = SizeSpec(fixedSize = 10f),
                 cellSize = SizeSpec(fixedSize = 10f)
             )
-        val calculatedWorkspaceSpec = CalculatedResponsiveSpec(availableSpace, cells, workspaceSpec)
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
 
         val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
         val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
@@ -285,7 +290,8 @@
                 gutter = SizeSpec(fixedSize = 10f),
                 cellSize = SizeSpec(fixedSize = 10f)
             )
-        val calculatedWorkspaceSpec = CalculatedResponsiveSpec(availableSpace, cells, workspaceSpec)
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
 
         val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
         val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)