Update pack entry's UI by gRPC result
ScreenShot: https://drive.google.com/file/d/1hPy70H40H9ZPpuXSbX6ewy6VqksLDL40/view?usp=sharing&resourcekey=0-2IUAdL_faQX4AtkJKntyfA
Bug: 398982575
Flag: EXEMPT refactor
Test: Tested by building and installing picker on local, checking if we
get data from pack
Change-Id: I710adc6a1a2bb1489165c4d589782595259d097a
diff --git a/res/drawable/ic_pack_theme_24px.xml b/res/drawable/ic_pack_theme_24px.xml
index 7aa9aae..4678b8a 100644
--- a/res/drawable/ic_pack_theme_24px.xml
+++ b/res/drawable/ic_pack_theme_24px.xml
@@ -18,12 +18,12 @@
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:translateX="100"
- android:viewportHeight="1920"
- android:viewportWidth="1920">
+ android:viewportHeight="2496"
+ android:viewportWidth="2496">
<group
- android:translateX="480"
- android:translateY="480">
+ android:translateX="768"
+ android:translateY="768">
<path
android:fillColor="?android:textColorPrimary"
android:pathData="M340,240L260,160L340,80L420,160L340,240ZM800,700L720,620L800,540L880,620L800,700ZM205,868L92,755Q80,743 80,727Q80,711 92,699L455,335Q490,300 540,300Q590,300 625,335Q660,370 660,420Q660,470 625,505L261,868Q249,880 233,880Q217,880 205,868ZM740,401Q740,326 687,273Q634,220 559,220Q634,220 687,167.5Q740,115 740,40Q740,115 792.5,167.5Q845,220 920,220Q845,220 792.5,273Q740,326 740,401ZM484,533L484,533Q484,533 469.5,519Q455,505 455,505Q455,505 441,491Q427,477 427,477L427,477L455,505L484,533ZM233,784L484,533L427,477L177,727L233,784Z" />
diff --git a/res/layout/customization_option_entry_pack_theme.xml b/res/layout/customization_option_entry_pack_theme.xml
index e3fb6fc..e033bb4 100644
--- a/res/layout/customization_option_entry_pack_theme.xml
+++ b/res/layout/customization_option_entry_pack_theme.xml
@@ -52,7 +52,6 @@
android:id="@+id/option_entry_icon_container"
android:layout_width="@dimen/customization_option_entry_icon_size"
android:layout_height="@dimen/customization_option_entry_icon_size"
- android:padding="@dimen/customization_option_entry_icon_padding"
android:background="@drawable/customization_option_entry_icon_background"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt b/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
index a447f86..60a39fd 100644
--- a/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
+++ b/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
@@ -26,6 +26,7 @@
import androidx.compose.ui.platform.ComposeView
import androidx.constraintlayout.widget.ConstraintSet
import androidx.core.graphics.drawable.DrawableCompat
+import androidx.core.net.toUri
import androidx.core.view.isVisible
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
@@ -60,6 +61,8 @@
import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationOptionsData
import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationOptionsViewModel
import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationPickerViewModel2
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import javax.inject.Inject
import javax.inject.Singleton
import kotlinx.coroutines.Dispatchers
@@ -401,7 +404,7 @@
R.id.option_entry_description
)
val lockDescription =
- optionPackThemeHome?.findViewById<TextView>(
+ optionPackThemeLock?.findViewById<TextView>(
R.id.option_entry_description
)
if (packThemeData.currentThemePackInfo.title.isNotEmpty()) {
@@ -414,6 +417,27 @@
lockDescription?.text =
packThemeData.currentThemePackInfo.description
}
+ if (packThemeData.currentThemePackInfo.thumbnailUri.isNotEmpty()) {
+ val uri = packThemeData.currentThemePackInfo.thumbnailUri.toUri()
+ val corner =
+ (THUMBNAIL_CORNER_RADIUS *
+ view.context.resources.displayMetrics.density)
+ .toInt()
+ optionPackThemeIconHome?.let {
+ Glide.with(view.context)
+ .load(uri)
+ .transform(RoundedCorners(corner))
+ .into(it)
+ it.colorFilter = null
+ }
+ optionPackThemeIconLock?.let {
+ Glide.with(view.context)
+ .load(uri)
+ .transform(RoundedCorners(corner))
+ .into(it)
+ it.colorFilter = null
+ }
+ }
}
}
launch {
@@ -625,4 +649,8 @@
}
data class Quadruple<A, B, C, D>(val first: A, val second: B, val third: C, val fourth: D)
+
+ companion object {
+ private const val THUMBNAIL_CORNER_RADIUS = 18
+ }
}