ThemePicker: Many UI / layout consistency fixes & improvements
paddings were not equal, text alignment was also all over the place and more...
make this app look less horrible and way more consistent
also add icon & font cards to the lockscreen tab as they also affect it
Change-Id: I4bfbb22651f7bdf163868b97f74a66f705e764cc
diff --git a/res/layout/font_preview_card.xml b/res/layout/font_preview_card.xml
index aa5c276..17b4ea8 100644
--- a/res/layout/font_preview_card.xml
+++ b/res/layout/font_preview_card.xml
@@ -28,6 +28,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/preview_theme_content_max_height"
android:layout_marginTop="@dimen/preview_theme_content_margin"
+ android:layout_marginBottom="@dimen/preview_theme_content_margin"
android:clipChildren="false"
android:importantForAccessibility="noHideDescendants">
diff --git a/res/layout/font_section_view.xml b/res/layout/font_section_view.xml
index 9119b48..fde5b1e 100644
--- a/res/layout/font_section_view.xml
+++ b/res/layout/font_section_view.xml
@@ -1,17 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<com.android.customization.picker.font.FontSectionView
xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
- android:paddingBottom="@dimen/section_bottom_padding"
- android:paddingHorizontal="@dimen/section_horizontal_padding"
+ android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:background="?selectableItemBackground"
+ android:clickable="true"
+ android:paddingVertical="@dimen/option_section_vertical_padding"
+ android:paddingHorizontal="@dimen/section_horizontal_padding"
+ android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:layout_gravity="center_vertical"
+ android:layout_gravity="center"
android:orientation="vertical">
<TextView
@@ -32,7 +34,7 @@
android:layout_width="@dimen/option_tile_width"
android:layout_height="@dimen/option_tile_width"
android:scaleType="center"
- android:background="@drawable/option_border_color">
+ android:background="@drawable/picker_section_icon_background">
<TextView
android:id="@+id/thumbnail_text"
android:layout_width="wrap_content"
diff --git a/res/layout/grid_section_view.xml b/res/layout/grid_section_view.xml
index fe31228..78ec7ac 100644
--- a/res/layout/grid_section_view.xml
+++ b/res/layout/grid_section_view.xml
@@ -16,11 +16,11 @@
-->
<com.android.customization.picker.grid.ui.view.GridSectionView
xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_width="match_parent"
android:background="?selectableItemBackground"
android:clickable="true"
- android:paddingBottom="@dimen/section_bottom_padding"
+ android:paddingVertical="@dimen/option_section_vertical_padding"
android:paddingHorizontal="@dimen/section_horizontal_padding"
android:orientation="horizontal">
@@ -28,7 +28,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:layout_gravity="center_vertical"
+ android:layout_gravity="center"
android:orientation="vertical">
<TextView
@@ -44,14 +44,26 @@
style="@style/SectionSubtitleTextStyle"/>
</LinearLayout>
- <ImageView
- android:id="@+id/grid_section_tile"
+ <LinearLayout
android:layout_width="@dimen/option_tile_width"
android:layout_height="@dimen/option_tile_width"
- android:scaleType="center"
- android:src="@drawable/ic_grid_24px"
- android:tint="@color/system_on_surface"
+ android:orientation="horizontal"
android:background="@drawable/picker_section_icon_background"
- android:contentDescription="@string/gird_picker_entry_content_description" />
+ android:contentDescription="@string/gird_picker_entry_content_description"
+ android:importantForAccessibility="noHideDescendants"
+ android:gravity="center"
+ android:divider="@drawable/horizontal_divider_14dp"
+ android:layout_gravity="center"
+ android:showDividers="middle">
-</com.android.customization.picker.grid.ui.view.GridSectionView>
\ No newline at end of file
+ <ImageView
+ android:id="@+id/grid_section_tile"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:scaleType="center"
+ android:src="@drawable/ic_grid_24px"
+ android:tint="@color/system_on_surface" />
+
+ </LinearLayout>
+
+</com.android.customization.picker.grid.ui.view.GridSectionView>
diff --git a/res/layout/icon_preview_card.xml b/res/layout/icon_preview_card.xml
index 9c0183f..c6c05ba 100644
--- a/res/layout/icon_preview_card.xml
+++ b/res/layout/icon_preview_card.xml
@@ -25,6 +25,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/preview_theme_content_max_height"
android:layout_marginTop="@dimen/preview_theme_content_margin"
+ android:layout_marginBottom="@dimen/preview_theme_content_margin"
android:clipChildren="false"
android:importantForAccessibility="noHideDescendants">
diff --git a/res/layout/icon_section_view.xml b/res/layout/icon_section_view.xml
index fce7c64..be162e5 100644
--- a/res/layout/icon_section_view.xml
+++ b/res/layout/icon_section_view.xml
@@ -1,17 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<com.android.customization.picker.iconpack.IconPackSectionView
xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
- android:paddingBottom="@dimen/section_bottom_padding"
- android:paddingHorizontal="@dimen/section_horizontal_padding"
+ android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:background="?selectableItemBackground"
+ android:clickable="true"
+ android:paddingVertical="@dimen/option_section_vertical_padding"
+ android:paddingHorizontal="@dimen/section_horizontal_padding"
+ android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:layout_gravity="center_vertical"
+ android:layout_gravity="center"
android:orientation="vertical">
<TextView
@@ -27,11 +29,24 @@
style="@style/SectionSubtitleTextStyle"/>
</LinearLayout>
- <ImageView
- android:id="@+id/icon_section_tile"
+ <LinearLayout
android:layout_width="@dimen/option_tile_width"
android:layout_height="@dimen/option_tile_width"
- android:scaleType="center"
- android:background="@drawable/option_border_color" />
+ android:orientation="horizontal"
+ android:background="@drawable/picker_section_icon_background"
+ android:importantForAccessibility="noHideDescendants"
+ android:gravity="center"
+ android:divider="@drawable/horizontal_divider_14dp"
+ android:layout_gravity="center"
+ android:showDividers="middle">
+
+ <ImageView
+ android:id="@+id/icon_section_tile"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:scaleType="center"
+ android:tint="@color/system_on_surface" />
+
+ </LinearLayout>
</com.android.customization.picker.iconpack.IconPackSectionView>
diff --git a/res/layout/icon_shape_preview_card.xml b/res/layout/icon_shape_preview_card.xml
index 7c70ec3..9d5cd39 100644
--- a/res/layout/icon_shape_preview_card.xml
+++ b/res/layout/icon_shape_preview_card.xml
@@ -25,6 +25,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/preview_theme_content_max_height"
android:layout_marginTop="@dimen/preview_theme_content_margin"
+ android:layout_marginBottom="@dimen/preview_theme_content_margin"
android:clipChildren="false"
android:importantForAccessibility="noHideDescendants">
diff --git a/res/layout/icon_shape_section_view.xml b/res/layout/icon_shape_section_view.xml
index 0fceac5..9d37dec 100644
--- a/res/layout/icon_shape_section_view.xml
+++ b/res/layout/icon_shape_section_view.xml
@@ -1,17 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<com.android.customization.picker.iconshape.IconShapeSectionView
xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
- android:paddingBottom="@dimen/section_bottom_padding"
- android:paddingHorizontal="@dimen/section_horizontal_padding"
+ android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:background="?selectableItemBackground"
+ android:clickable="true"
+ android:paddingVertical="@dimen/option_section_vertical_padding"
+ android:paddingHorizontal="@dimen/section_horizontal_padding"
+ android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:layout_gravity="center_vertical"
+ android:layout_gravity="center"
android:orientation="vertical">
<TextView
@@ -34,7 +36,7 @@
android:layout_gravity="center_horizontal"
android:paddingHorizontal="@dimen/option_tile_padding_horizontal"
android:paddingVertical="@dimen/option_tile_padding_vertical"
- android:background="@drawable/option_border_color">
+ android:background="@drawable/picker_section_icon_background">
<ImageView
android:id="@+id/icon_section_tile"
android:layout_width="wrap_content"
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 910eb7e..50b1c3b 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -191,4 +191,8 @@
<dimen name="floating_sheet_clock_style_option_size">82dp</dimen>
<dimen name="floating_sheet_clock_style_thumbnail_margin">12dp</dimen>
<dimen name="customization_option_entry_shortcut_icon_size">20dp</dimen>
+
+ <!-- preview page -->
+ <dimen name="preview_page_top_margin">16dp</dimen>
+ <dimen name="preview_page_bottom_margin">16dp</dimen>
</resources>
diff --git a/src/com/android/customization/module/DefaultCustomizationSections.java b/src/com/android/customization/module/DefaultCustomizationSections.java
index d7bc42e..9195e4a 100644
--- a/src/com/android/customization/module/DefaultCustomizationSections.java
+++ b/src/com/android/customization/module/DefaultCustomizationSections.java
@@ -188,6 +188,16 @@
.get(KeyguardQuickAffordancePickerViewModel.class),
lifecycleOwner));
+ // Icon pack selection section.
+ sectionControllers.add(new IconPackSectionController(
+ IconPackManager.getInstance(activity, new OverlayManagerCompat(activity)),
+ sectionNavigationController));
+
+ // Font selection section.
+ sectionControllers.add(new FontSectionController(
+ FontManager.getInstance(activity, new OverlayManagerCompat(activity)),
+ sectionNavigationController));
+
// Notifications section.
sectionControllers.add(
new NotificationSectionController(