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
+    }
 }