diff --git a/lawnchair/res/values-sw340dp/dimens.xml b/lawnchair/res/values-sw340dp/dimens.xml
new file mode 100644
index 0000000000..569e5010d9
--- /dev/null
+++ b/lawnchair/res/values-sw340dp/dimens.xml
@@ -0,0 +1,4 @@
+
+
+ 20dp
+
diff --git a/lawnchair/res/values-sw360dp/bools.xml b/lawnchair/res/values-sw360dp/bools.xml
new file mode 100644
index 0000000000..64a86db258
--- /dev/null
+++ b/lawnchair/res/values-sw360dp/bools.xml
@@ -0,0 +1,4 @@
+
+
+ true
+
diff --git a/lawnchair/res/values-sw400dp-land/styles.xml b/lawnchair/res/values-sw400dp-land/styles.xml
new file mode 100644
index 0000000000..29f80d83b6
--- /dev/null
+++ b/lawnchair/res/values-sw400dp-land/styles.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw400dp/styles.xml b/lawnchair/res/values-sw400dp/styles.xml
new file mode 100644
index 0000000000..302e5c517f
--- /dev/null
+++ b/lawnchair/res/values-sw400dp/styles.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw480dp-land/styles.xml b/lawnchair/res/values-sw480dp-land/styles.xml
new file mode 100644
index 0000000000..29f80d83b6
--- /dev/null
+++ b/lawnchair/res/values-sw480dp-land/styles.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw480dp/styles.xml b/lawnchair/res/values-sw480dp/styles.xml
new file mode 100644
index 0000000000..9da3c20dd8
--- /dev/null
+++ b/lawnchair/res/values-sw480dp/styles.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw600dp-land/dimens.xml b/lawnchair/res/values-sw600dp-land/dimens.xml
new file mode 100644
index 0000000000..9e0a46fea8
--- /dev/null
+++ b/lawnchair/res/values-sw600dp-land/dimens.xml
@@ -0,0 +1,17 @@
+
+
+ 48dp
+ 11.33dp
+ 16dp
+ 0dp
+ 11.33dp
+ 49dp
+ 491dp
+ 24dp
+ 40dp
+ 16dp
+ 48dp
+ 32dp
+ 3600dp
+ 44dp
+
diff --git a/lawnchair/res/values-sw600dp-land/drawables.xml b/lawnchair/res/values-sw600dp-land/drawables.xml
new file mode 100644
index 0000000000..045e125f3d
--- /dev/null
+++ b/lawnchair/res/values-sw600dp-land/drawables.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/lawnchair/res/values-sw600dp-land/styles.xml b/lawnchair/res/values-sw600dp-land/styles.xml
new file mode 100644
index 0000000000..d7b88c768d
--- /dev/null
+++ b/lawnchair/res/values-sw600dp-land/styles.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw600dp/dimens.xml b/lawnchair/res/values-sw600dp/dimens.xml
new file mode 100644
index 0000000000..e0f3b4478a
--- /dev/null
+++ b/lawnchair/res/values-sw600dp/dimens.xml
@@ -0,0 +1,50 @@
+
+
+ 24dp
+ 80dp
+ 64dp
+ 8dp
+ 8dp
+ 580dp
+ 16dp
+ 20dp
+ 0dp
+ 38sp
+ 120dp
+ 15sp
+ 9dp
+ 320dp
+ 0dp
+ 2dp
+ 24dp
+ 576dp
+ 320dp
+ @dimen/design_snackbar_padding_vertical
+ 160dp
+ -1000dp
+ 16dp
+ 16dp
+ 64dp
+ 56dp
+ 9dp
+ 0dp
+ 62dp
+ 13dp
+ 32dp
+ 75dp
+ 6dp
+ 3000dp
+ 64dp
+ 64dp
+ 25dp
+ 356dp
+ 24dp
+ 28dp
+ 64dp
+ 36dp
+ 12dp
+ 65dp
+ 44dp
+ 132dp
+ 32dp
+
diff --git a/lawnchair/res/values-sw600dp/integers.xml b/lawnchair/res/values-sw600dp/integers.xml
new file mode 100644
index 0000000000..7e353a7d45
--- /dev/null
+++ b/lawnchair/res/values-sw600dp/integers.xml
@@ -0,0 +1,9 @@
+
+
+ @integer/config_bottomSheetCloseDuration
+ @integer/config_bottomSheetOpenDuration
+ 500
+ 500
+ 550
+ 1
+
diff --git a/lawnchair/res/values-sw600dp/styles.xml b/lawnchair/res/values-sw600dp/styles.xml
new file mode 100644
index 0000000000..ea844538a8
--- /dev/null
+++ b/lawnchair/res/values-sw600dp/styles.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw640dp-land/styles.xml b/lawnchair/res/values-sw640dp-land/styles.xml
new file mode 100644
index 0000000000..bc8b8abdca
--- /dev/null
+++ b/lawnchair/res/values-sw640dp-land/styles.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw640dp/styles.xml b/lawnchair/res/values-sw640dp/styles.xml
new file mode 100644
index 0000000000..27958a9793
--- /dev/null
+++ b/lawnchair/res/values-sw640dp/styles.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw700dp-land/styles.xml b/lawnchair/res/values-sw700dp-land/styles.xml
new file mode 100644
index 0000000000..d18d024fb1
--- /dev/null
+++ b/lawnchair/res/values-sw700dp-land/styles.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw700dp/styles.xml b/lawnchair/res/values-sw700dp/styles.xml
new file mode 100644
index 0000000000..63cfa02754
--- /dev/null
+++ b/lawnchair/res/values-sw700dp/styles.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw720dp-land/dimens.xml b/lawnchair/res/values-sw720dp-land/dimens.xml
new file mode 100644
index 0000000000..3646f6659d
--- /dev/null
+++ b/lawnchair/res/values-sw720dp-land/dimens.xml
@@ -0,0 +1,17 @@
+
+
+ 0dp
+ 18dp
+ 29.33dp
+ 32dp
+ 0dp
+ 21.93dp
+ 21dp
+ 580dp
+ 49dp
+ 24dp
+ 5300dp
+ -50dp
+ 64dp
+ 49dp
+
diff --git a/lawnchair/res/values-sw720dp-land/drawables.xml b/lawnchair/res/values-sw720dp-land/drawables.xml
new file mode 100644
index 0000000000..045e125f3d
--- /dev/null
+++ b/lawnchair/res/values-sw720dp-land/drawables.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/lawnchair/res/values-sw720dp/dimens.xml b/lawnchair/res/values-sw720dp/dimens.xml
new file mode 100644
index 0000000000..b90c0d3c7d
--- /dev/null
+++ b/lawnchair/res/values-sw720dp/dimens.xml
@@ -0,0 +1,27 @@
+
+
+ 42sp
+ 16sp
+ 300dp
+ 36dp
+ 48dp
+ 24dp
+ 8dp
+ 32dp
+ 32dp
+ 20sp
+ 110dp
+ 72dp
+ 27.59dp
+ 24dp
+ 3400dp
+ 36dp
+ 44dp
+ 16dp
+ 108dp
+ 100dp
+ 300dp
+ 30dp
+ 180dp
+ 30dp
+
diff --git a/lawnchair/res/values-sw720dp/drawables.xml b/lawnchair/res/values-sw720dp/drawables.xml
new file mode 100644
index 0000000000..045e125f3d
--- /dev/null
+++ b/lawnchair/res/values-sw720dp/drawables.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/lawnchair/res/values-sw800dp-land/styles.xml b/lawnchair/res/values-sw800dp-land/styles.xml
new file mode 100644
index 0000000000..abb17453b2
--- /dev/null
+++ b/lawnchair/res/values-sw800dp-land/styles.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw800dp/styles.xml b/lawnchair/res/values-sw800dp/styles.xml
new file mode 100644
index 0000000000..56deec3403
--- /dev/null
+++ b/lawnchair/res/values-sw800dp/styles.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/lawnchair/res/values-sw900dp/dimens.xml b/lawnchair/res/values-sw900dp/dimens.xml
new file mode 100644
index 0000000000..89675d1765
--- /dev/null
+++ b/lawnchair/res/values-sw900dp/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 76dp
+ 0dp
+
diff --git a/lawnchair/res/values-w320dp-land/dimens.xml b/lawnchair/res/values-w320dp-land/dimens.xml
new file mode 100644
index 0000000000..9f3ba5ac79
--- /dev/null
+++ b/lawnchair/res/values-w320dp-land/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 24dp
+ 36dp
+
diff --git a/lawnchair/res/values-w360dp-port/dimens.xml b/lawnchair/res/values-w360dp-port/dimens.xml
new file mode 100644
index 0000000000..076e441531
--- /dev/null
+++ b/lawnchair/res/values-w360dp-port/dimens.xml
@@ -0,0 +1,11 @@
+
+
+ 4dp
+ 18dp
+ 40dp
+ 2dp
+ 2dp
+ 40dp
+ 40dp
+ 4dp
+
diff --git a/lawnchair/res/values-w480dp-port/dimens.xml b/lawnchair/res/values-w480dp-port/dimens.xml
new file mode 100644
index 0000000000..15f69f4450
--- /dev/null
+++ b/lawnchair/res/values-w480dp-port/dimens.xml
@@ -0,0 +1,9 @@
+
+
+ 0dp
+ 22dp
+ 48dp
+ 48dp
+ 48dp
+ 0dp
+
diff --git a/lawnchair/res/values-w600dp-land/dimens.xml b/lawnchair/res/values-w600dp-land/dimens.xml
new file mode 100644
index 0000000000..a0d1f36cb4
--- /dev/null
+++ b/lawnchair/res/values-w600dp-land/dimens.xml
@@ -0,0 +1,4 @@
+
+
+ 64dp
+
diff --git a/lawnchair/res/values-xlarge/dimens.xml b/lawnchair/res/values-xlarge/dimens.xml
new file mode 100644
index 0000000000..1fd0d37c69
--- /dev/null
+++ b/lawnchair/res/values-xlarge/dimens.xml
@@ -0,0 +1,7 @@
+
+
+ 50%
+ 70%
+ 45%
+ 72%
+
diff --git a/lawnchair/res/values/strings.xml b/lawnchair/res/values/strings.xml
index d594a2b56a..4c95083897 100644
--- a/lawnchair/res/values/strings.xml
+++ b/lawnchair/res/values/strings.xml
@@ -538,4 +538,6 @@
%s & %s
System Settings
+
+ Google
diff --git a/lawnchair/res/values/styles.xml b/lawnchair/res/values/styles.xml
index f3453325b5..d1003cec40 100644
--- a/lawnchair/res/values/styles.xml
+++ b/lawnchair/res/values/styles.xml
@@ -210,4 +210,51 @@
- @dimen/key_text_shadow_dx
- @dimen/key_text_shadow_dy
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml-sw600dp-land/paddings_split_4x4.xml b/lawnchair/res/xml-sw600dp-land/paddings_split_4x4.xml
new file mode 100644
index 0000000000..597e31479c
--- /dev/null
+++ b/lawnchair/res/xml-sw600dp-land/paddings_split_4x4.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml-sw600dp-land/paddings_split_4x5.xml b/lawnchair/res/xml-sw600dp-land/paddings_split_4x5.xml
new file mode 100644
index 0000000000..47d71a172c
--- /dev/null
+++ b/lawnchair/res/xml-sw600dp-land/paddings_split_4x5.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml-sw600dp-land/paddings_split_5x5.xml b/lawnchair/res/xml-sw600dp-land/paddings_split_5x5.xml
new file mode 100644
index 0000000000..8e72c19e4d
--- /dev/null
+++ b/lawnchair/res/xml-sw600dp-land/paddings_split_5x5.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml-sw600dp/paddings_split_4x4.xml b/lawnchair/res/xml-sw600dp/paddings_split_4x4.xml
new file mode 100644
index 0000000000..bfc01951d9
--- /dev/null
+++ b/lawnchair/res/xml-sw600dp/paddings_split_4x4.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml-sw600dp/paddings_split_4x5.xml b/lawnchair/res/xml-sw600dp/paddings_split_4x5.xml
new file mode 100644
index 0000000000..277ee30db1
--- /dev/null
+++ b/lawnchair/res/xml-sw600dp/paddings_split_4x5.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml-sw600dp/paddings_split_5x5.xml b/lawnchair/res/xml-sw600dp/paddings_split_5x5.xml
new file mode 100644
index 0000000000..78cd50d921
--- /dev/null
+++ b/lawnchair/res/xml-sw600dp/paddings_split_5x5.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/default_workspace_5x6.xml b/lawnchair/res/xml/default_workspace_5x6.xml
index 6cc554275f..2f6fc993dc 100644
--- a/lawnchair/res/xml/default_workspace_5x6.xml
+++ b/lawnchair/res/xml/default_workspace_5x6.xml
@@ -14,7 +14,7 @@
limitations under the License.
-->
-
+
diff --git a/lawnchair/res/xml/default_workspace_5x7.xml b/lawnchair/res/xml/default_workspace_5x7.xml
index 7f2693c44b..c6278f5ee2 100644
--- a/lawnchair/res/xml/default_workspace_5x7.xml
+++ b/lawnchair/res/xml/default_workspace_5x7.xml
@@ -14,7 +14,7 @@
limitations under the License.
-->
-
+
diff --git a/lawnchair/res/xml/default_workspace_6x6.xml b/lawnchair/res/xml/default_workspace_6x6.xml
index 27dd3ee8a5..d0ee95bf49 100644
--- a/lawnchair/res/xml/default_workspace_6x6.xml
+++ b/lawnchair/res/xml/default_workspace_6x6.xml
@@ -14,7 +14,7 @@
limitations under the License.
-->
-
+
diff --git a/lawnchair/res/xml/default_workspace_splitdisplay_4x4.xml b/lawnchair/res/xml/default_workspace_splitdisplay_4x4.xml
new file mode 100644
index 0000000000..3a7f7dfedd
--- /dev/null
+++ b/lawnchair/res/xml/default_workspace_splitdisplay_4x4.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/demo_workspace_5x5.xml b/lawnchair/res/xml/demo_workspace_5x5.xml
new file mode 100644
index 0000000000..c9d77c016c
--- /dev/null
+++ b/lawnchair/res/xml/demo_workspace_5x5.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/device_profiles.xml b/lawnchair/res/xml/device_profiles.xml
index 7c48a86b8e..dcae6ad805 100644
--- a/lawnchair/res/xml/device_profiles.xml
+++ b/lawnchair/res/xml/device_profiles.xml
@@ -1,5 +1,4 @@
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ launcher:deviceCategory="tablet"
+ launcher:devicePaddingId="@xml/paddings_6x5"
+ launcher:folderStyle="@style/Folder6x5Style"
+ launcher:hotseatColumnSpanLandscape="4"
+ launcher:inlineNavButtonsEndSpacing="@dimen/taskbar_button_margin_6_5"
+ launcher:inlineQsb="landscape"
+ launcher:isScalable="true"
+ launcher:name="tablet_normal"
+ launcher:numAllAppsColumns="6"
+ launcher:numColumns="6"
+ launcher:numFolderColumns="3"
+ launcher:numFolderRows="3"
+ launcher:numHotseatIcons="6"
+ launcher:numRows="5"
+ launcher:numSearchContainerColumns="3">
-
+ launcher:hotseatQsbSpace="32"
+ launcher:iconImageSize="66"
+ launcher:iconTextSize="14"
+ launcher:minCellHeight="120"
+ launcher:minCellHeightLandscape="104"
+ launcher:minCellWidth="102"
+ launcher:minCellWidthLandscape="120"
+ launcher:minHeightDps="748"
+ launcher:minWidthDps="800"
+ launcher:name="Pixel C"
+ launcher:startAlignTaskbar="true"
+ launcher:startAlignTaskbarLandscape="false"
+ launcher:transientTaskbarIconSize="57.2"/>
+
+
+
+
-
\ No newline at end of file
diff --git a/lawnchair/res/xml/dynamic_resources.xml b/lawnchair/res/xml/dynamic_resources.xml
new file mode 100644
index 0000000000..d53c7b0a0e
--- /dev/null
+++ b/lawnchair/res/xml/dynamic_resources.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/handheld_workspace_spec.xml b/lawnchair/res/xml/handheld_workspace_spec.xml
new file mode 100644
index 0000000000..6d96536a88
--- /dev/null
+++ b/lawnchair/res/xml/handheld_workspace_spec.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_2x2.xml b/lawnchair/res/xml/paddings_2x2.xml
new file mode 100644
index 0000000000..28c48a65c0
--- /dev/null
+++ b/lawnchair/res/xml/paddings_2x2.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_3x3.xml b/lawnchair/res/xml/paddings_3x3.xml
new file mode 100644
index 0000000000..53cc4ad71e
--- /dev/null
+++ b/lawnchair/res/xml/paddings_3x3.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_4x4.xml b/lawnchair/res/xml/paddings_4x4.xml
new file mode 100644
index 0000000000..68b6cc7c0d
--- /dev/null
+++ b/lawnchair/res/xml/paddings_4x4.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_4x5.xml b/lawnchair/res/xml/paddings_4x5.xml
index 221b5779dc..68b6cc7c0d 100644
--- a/lawnchair/res/xml/paddings_4x5.xml
+++ b/lawnchair/res/xml/paddings_4x5.xml
@@ -1,38 +1,86 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_5x5.xml b/lawnchair/res/xml/paddings_5x5.xml
new file mode 100644
index 0000000000..f57c781453
--- /dev/null
+++ b/lawnchair/res/xml/paddings_5x5.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_6x5.xml b/lawnchair/res/xml/paddings_6x5.xml
new file mode 100644
index 0000000000..91b7bbce86
--- /dev/null
+++ b/lawnchair/res/xml/paddings_6x5.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_handhelds.xml b/lawnchair/res/xml/paddings_handhelds.xml
new file mode 100644
index 0000000000..ca56882906
--- /dev/null
+++ b/lawnchair/res/xml/paddings_handhelds.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_split_4x4.xml b/lawnchair/res/xml/paddings_split_4x4.xml
new file mode 100644
index 0000000000..aa3b697ffc
--- /dev/null
+++ b/lawnchair/res/xml/paddings_split_4x4.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_split_4x5.xml b/lawnchair/res/xml/paddings_split_4x5.xml
new file mode 100644
index 0000000000..122dce5377
--- /dev/null
+++ b/lawnchair/res/xml/paddings_split_4x5.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lawnchair/res/xml/paddings_split_5x5.xml b/lawnchair/res/xml/paddings_split_5x5.xml
new file mode 100644
index 0000000000..f986d60334
--- /dev/null
+++ b/lawnchair/res/xml/paddings_split_5x5.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 7445eb6745..91df19c24d 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -525,18 +525,9 @@ public class DeviceProfile {
numShownAllAppsColumns = isTwoPanels ? inv.numDatabaseAllAppsColumns : inv.numAllAppsColumns;
- int hotseatBarBottomSpace = isQsbEnable ? 0 : pxFromDp(inv.hotseatBarBottomSpace[mTypeIndex], mMetrics);
+ int hotseatBarBottomSpace = !isQsbEnable ? 0 : pxFromDp(inv.hotseatBarBottomSpace[mTypeIndex], mMetrics);
int minQsbMargin = res.getDimensionPixelSize(R.dimen.min_qsb_margin);
- if (mIsResponsiveGrid) {
- HotseatSpecs hotseatSpecs = HotseatSpecs.create(new ResourceHelper(context,
- isTwoPanels ? inv.hotseatSpecsTwoPanelId : inv.hotseatSpecsId));
- mResponsiveHotseatSpec = hotseatSpecs.getCalculatedHeightSpec(heightPx);
- hotseatQsbSpace = mResponsiveHotseatSpec.getHotseatQsbSpace();
- } else {
- hotseatQsbSpace = pxFromDp(inv.hotseatQsbSpace[mTypeIndex], mMetrics);
- }
-
// Have a little space between the inset and the QSB
if (isQsbEnable && mInsets.bottom + minQsbMargin > hotseatBarBottomSpace) {
int availableSpace = hotseatQsbSpace - (mInsets.bottom - hotseatBarBottomSpace);
@@ -654,10 +645,6 @@ public class DeviceProfile {
// Hotseat and QSB width depends on updated cellSize and workspace padding
recalculateHotseatWidthAndBorderSpace();
- if (mIsResponsiveGrid && isVerticalBarLayout()) {
- hotseatBorderSpace = cellLayoutBorderSpacePx.y;
- }
-
// AllApps height calculation depends on updated cellSize
if (isTablet) {
int collapseHandleHeight = res.getDimensionPixelOffset(R.dimen.bottom_sheet_handle_area_height);
@@ -743,7 +730,8 @@ public class DeviceProfile {
- hotseatBorderSpace * numShownHotseatIcons;
} else {
int columns = inv.hotseatColumnSpan[mTypeIndex];
- return getIconToIconWidthForColumns(columns);
+ return getIconToIconWidthForColumns(columns)
+ - hotseatBorderSpace;
}
}
@@ -795,17 +783,19 @@ public class DeviceProfile {
// radius.
hotseatCellHeightPx = getIconSizeWithOverlap(hotseatIconSizePx);
+ var space = Math.abs(hotseatCellHeightPx / 2);
+
if (isVerticalBarLayout()) {
hotseatBarSizePx = hotseatIconSizePx + hotseatBarSidePaddingStartPx
- + hotseatBarSidePaddingEndPx;
+ + hotseatBarSidePaddingEndPx + space;
} else if (isQsbInline) {
hotseatBarSizePx = Math.max(hotseatIconSizePx, hotseatQsbVisualHeight)
- + hotseatBarBottomSpacePx;
+ + hotseatBarBottomSpacePx + space;
} else {
hotseatBarSizePx = hotseatIconSizePx
+ hotseatQsbSpace
+ hotseatQsbVisualHeight
- + hotseatBarBottomSpacePx;
+ + hotseatBarBottomSpacePx + space;
}
}
@@ -1174,12 +1164,14 @@ public class DeviceProfile {
} else {
updateAllAppsIconSize(scale, res);
}
+
+ updateHotseatSizes(iconSizePx);
+
updateAllAppsContainerWidth();
if (isVerticalBarLayout()) {
hideWorkspaceLabelsIfNotEnoughSpace();
}
- updateHotseatSizes(iconSizePx);
// Folder icon
folderIconSizePx = IconNormalizer.getNormalizedCircleSize(iconSizePx);
@@ -1201,12 +1193,10 @@ public class DeviceProfile {
* width.
*/
private int calculateHotseatBorderSpace(float hotseatWidthPx, int numExtraBorder) {
- int numBorders = (numShownHotseatIcons - 1 + numExtraBorder);
- if (numBorders <= 0)
- return 0;
-
float hotseatIconsTotalPx = iconSizePx * numShownHotseatIcons;
- int hotseatBorderSpacePx = (int) (hotseatWidthPx - hotseatIconsTotalPx) / numBorders;
+ int hotseatBorderSpacePx =
+ (int) (hotseatWidthPx - hotseatIconsTotalPx)
+ / (numShownHotseatIcons - 1 + numExtraBorder);
return Math.min(hotseatBorderSpacePx, mMaxHotseatIconSpacePx);
}
diff --git a/src/com/android/launcher3/Hotseat.java b/src/com/android/launcher3/Hotseat.java
index afa83970b5..a278985f40 100644
--- a/src/com/android/launcher3/Hotseat.java
+++ b/src/com/android/launcher3/Hotseat.java
@@ -51,7 +51,6 @@ public class Hotseat extends CellLayout implements Insettable {
private boolean mSendTouchToWorkspace;
private final View mQsb;
- private final int mQsbHeight;
PreferenceManager2 preferenceManager2;
@@ -77,7 +76,6 @@ public class Hotseat extends CellLayout implements Insettable {
int layoutId = hotseatMode.getLayoutResourceId();
mQsb = LayoutInflater.from(context).inflate(layoutId, this, false);
- mQsbHeight = mQsb.getLayoutParams().height;
addView(mQsb);
}
@@ -114,7 +112,7 @@ public class Hotseat extends CellLayout implements Insettable {
if (grid.isVerticalBarLayout()) {
mQsb.setVisibility(View.GONE);
- lp.height = LayoutParams.MATCH_PARENT;
+ lp.height = ViewGroup.LayoutParams.MATCH_PARENT;
if (grid.isSeascape()) {
lp.gravity = Gravity.LEFT;
lp.width = grid.hotseatBarSizePx + insets.left;
@@ -125,29 +123,13 @@ public class Hotseat extends CellLayout implements Insettable {
} else {
mQsb.setVisibility(View.VISIBLE);
lp.gravity = Gravity.BOTTOM;
- lp.width = LayoutParams.MATCH_PARENT;
+ lp.width = ViewGroup.LayoutParams.MATCH_PARENT;
lp.height = grid.hotseatBarSizePx;
- lp.topMargin = grid.hotseatBarBottomSpacePx;
}
Rect padding = grid.getHotseatLayoutPadding(getContext());
setPadding(padding.left, padding.top, padding.right, padding.bottom);
- if(!PreferenceExtensionsKt.firstBlocking(preferenceManager2.getEnableTaskbarOnPhone())){
- FrameLayout.LayoutParams qsbLp = (FrameLayout.LayoutParams) getLayoutParams();
- qsbLp.topMargin = grid.hotseatBarBottomSpacePx;
- qsbLp.height = (grid.hotseatBarSizePx * 2) - (padding.bottom + grid.hotseatBarBottomSpacePx);
- mQsb.setLayoutParams (qsbLp);
- setLayoutParams(lp);
- }
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- if(mQsb.getSourceLayoutResId () == R.layout.empty_view){
- mQsb.setVisibility (View.GONE);
- mQsb.setLayoutParams ((FrameLayout.LayoutParams) getLayoutParams());
- FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) getLayoutParams();
- layoutParams.height = grid.hotseatBarSizePx;
- setLayoutParams(layoutParams);
- }
- }
+ setLayoutParams(lp);
InsettableFrameLayout.dispatchInsets(this, insets);
}
@@ -190,9 +172,11 @@ public class Hotseat extends CellLayout implements Insettable {
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ DeviceProfile dp = mActivity.getDeviceProfile();
+
int width = getShortcutsAndWidgets().getMeasuredWidth();
mQsb.measure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
- MeasureSpec.makeMeasureSpec(mQsbHeight, MeasureSpec.EXACTLY));
+ MeasureSpec.makeMeasureSpec(dp.hotseatQsbHeight, MeasureSpec.EXACTLY));
}
@Override
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 4aba38995a..4147bc1fab 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -412,11 +412,7 @@ public class Workspace extends PagedView
} else {
lp.leftMargin = lp.rightMargin = 0;
lp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
- boolean isDisabledHotseat = Utilities.ATLEAST_Q &&
- getHotseat() != null &&
- getHotseat().getQsb().getSourceLayoutResId() == R.layout.empty_view;
- lp.bottomMargin = (padding.bottom) + grid.hotseatBarBottomSpacePx
- - (isDisabledHotseat ? grid.workspaceCellPaddingXPx * 3 : 0);
+ lp.bottomMargin = grid.hotseatBarSizePx;
}
mPageIndicator.setLayoutParams(lp);
}