Parameterize dimens (2/2)
Make dimen IDs
Test: Manually tested the UI shows as expected
Bug: 337941334
Flag: com.android.wallpaper.new_picker_ui_flag
Change-Id: I54b954535122fa38e69213de686da0b7fdedb761
diff --git a/res/layout/customization_option_entry_wallpaper.xml b/res/layout/customization_option_entry_wallpaper.xml
index 6af762c..faeb6ab 100644
--- a/res/layout/customization_option_entry_wallpaper.xml
+++ b/res/layout/customization_option_entry_wallpaper.xml
@@ -19,23 +19,21 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:paddingHorizontal="@dimen/customization_option_entry_horizontal_padding"
+ android:paddingVertical="@dimen/customization_option_entry_vertical_padding_large"
android:clickable="true">
<TextView
- android:id="@+id/more_wallpapers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:minHeight="@dimen/customization_option_entry_more_wallpapers_min_height"
android:gravity="center"
android:drawablePadding="@dimen/customization_option_entry_more_wallpapers_drawable_padding"
- android:drawableStart="@drawable/ic_nav_wallpaper"
- android:drawableTint="@color/system_primary"
android:text="@string/more_wallpapers"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
android:textColor="@color/system_primary"
android:textSize="@dimen/wallpaper_header_text_size"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- tools:ignore="UseCompatTextViewDrawableXml" />
+ app:drawableStartCompat="@drawable/ic_nav_wallpaper"
+ app:drawableTint="@color/system_primary" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index eba46c5..ddd1138 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -392,12 +392,16 @@
<!-- Dimensions for the customization picker -->
<dimen name="customization_picker_preview_header_collapsed_height">250dp</dimen>
<dimen name="customization_picker_preview_header_expanded_height">500dp</dimen>
- <dimen name="customization_option_container_horizontal_padding">8dp</dimen>
+ <dimen name="customization_option_container_horizontal_padding">16dp</dimen>
<dimen name="customization_option_entry_corner_radius_large">28dp</dimen>
<dimen name="customization_option_entry_corner_radius_small">4dp</dimen>
<dimen name="customization_option_entry_divider_height">2dp</dimen>
<dimen name="customization_option_entry_more_wallpapers_min_height">48dp</dimen>
<dimen name="customization_option_entry_more_wallpapers_drawable_padding">12dp</dimen>
- <dimen name="customization_option_entry_padding">16dp</dimen>
+ <dimen name="customization_option_entry_horizontal_padding">16dp</dimen>
+ <dimen name="customization_option_entry_vertical_padding_large">16dp</dimen>
+ <dimen name="customization_option_entry_vertical_padding">12dp</dimen>
+ <dimen name="customization_option_entry_text_margin_end">16dp</dimen>
+ <dimen name="customization_option_entry_icon_size">60dp</dimen>
<dimen name="preview_corner_radius">32dp</dimen>
</resources>
diff --git a/src/com/android/wallpaper/picker/customization/ui/CustomizationPickerActivity2.kt b/src/com/android/wallpaper/picker/customization/ui/CustomizationPickerActivity2.kt
index 1837571..b1eb1dc 100644
--- a/src/com/android/wallpaper/picker/customization/ui/CustomizationPickerActivity2.kt
+++ b/src/com/android/wallpaper/picker/customization/ui/CustomizationPickerActivity2.kt
@@ -60,17 +60,6 @@
private var fullyCollapsed = false
private val customizationPickerViewModel: CustomizationPickerViewModel2 by viewModels()
- // The bottom navigation bar height
- private val navBarHeight =
- resources.getIdentifier("navigation_bar_height", "dimen", "android").let {
- if (it > 0) {
- resources.getDimensionPixelSize(it)
- } else 0
- }
- private val optionEntryPadding =
- resources.getDimensionPixelSize(R.dimen.customization_option_entry_padding)
- private val optionEntryCornerRadiusLarge =
- resources.getDimensionPixelSize(R.dimen.customization_option_entry_corner_radius_large)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -119,6 +108,13 @@
val optionContainer = requireViewById<MotionLayout>(R.id.customization_option_container)
// The collapsed header height should be updated when option container's height is known
optionContainer.doOnPreDraw {
+ // The bottom navigation bar height
+ val navBarHeight =
+ resources.getIdentifier("navigation_bar_height", "dimen", "android").let {
+ if (it > 0) {
+ resources.getDimensionPixelSize(it)
+ } else 0
+ }
val collapsedHeaderHeight = rootView.height - optionContainer.height - navBarHeight
if (
collapsedHeaderHeight >
@@ -189,7 +185,7 @@
)
val optionEntries =
customizationOptionUtil.getOptionEntries(screen, optionEntriesContainer, layoutInflater)
- optionEntries.onEachIndexed { index, (_, view) ->
+ optionEntries.onEachIndexed { index, (option, view) ->
val isFirst = index == 0
val isLast = index == optionEntries.size - 1
view.setBackgroundResource(
@@ -197,11 +193,6 @@
else if (isLast) R.drawable.customization_option_entry_bottom_background
else R.drawable.customization_option_entry_background
)
- val startPadding = optionEntryPadding
- val topPadding = if (isFirst) optionEntryCornerRadiusLarge else optionEntryPadding
- val endPadding = optionEntryPadding
- val bottomPadding = if (isLast) optionEntryCornerRadiusLarge else optionEntryPadding
- view.setPaddingRelative(startPadding, topPadding, endPadding, bottomPadding)
optionEntriesContainer.addView(view)
}
return optionEntries
@@ -239,10 +230,10 @@
private fun setCustomizePickerBottomSheetContent(
motionContainer: MotionLayout,
- screen: CustomizationOptionUtil.CustomizationOption,
+ option: CustomizationOption,
onComplete: () -> Unit
) {
- val view = customizationOptionUtil.getBottomSheetContent(screen) ?: return
+ val view = customizationOptionUtil.getBottomSheetContent(option) ?: return
val customizationBottomSheet =
requireViewById<FrameLayout>(R.id.customization_picker_bottom_sheet)