summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-03-18 01:26:39 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-03-18 01:26:39 +0000
commitb56bbca1628b84f336c30c62c3757266907e927d (patch)
tree7615f9be887c7579d3baab358fac268b6d86e6bd
parentd05aac2012ca188b8e6336638c29675f317d0b3a (diff)
parentd83706f73143b89ae2ecbda621a57eafaf2664e4 (diff)
Snap for 9769489 from d83706f73143b89ae2ecbda621a57eafaf2664e4 to tm-qpr3-release
Change-Id: I2e0c612437b37fef9dd0aced2807b25107008a99
-rw-r--r--src/com/android/wallpaper/config/BaseFlags.kt9
-rw-r--r--src/com/android/wallpaper/picker/customization/ui/binder/ScreenPreviewBinder.kt23
2 files changed, 26 insertions, 6 deletions
diff --git a/src/com/android/wallpaper/config/BaseFlags.kt b/src/com/android/wallpaper/config/BaseFlags.kt
index 5d16e017..ffd76c69 100644
--- a/src/com/android/wallpaper/config/BaseFlags.kt
+++ b/src/com/android/wallpaper/config/BaseFlags.kt
@@ -52,6 +52,15 @@ abstract class BaseFlags {
.firstOrNull { flag -> flag.name == Contract.FlagsTable.FLAG_NAME_MONOCHROMATIC_THEME }
?.value == true
}
+
+ fun isAIWallpaperEnabled(context: Context): Boolean {
+ return runBlocking { getCustomizationProviderClient(context).queryFlags() }
+ .firstOrNull { flag ->
+ flag.name == Contract.FlagsTable.FLAG_NAME_WALLPAPER_PICKER_UI_FOR_AIWP
+ }
+ ?.value == true
+ }
+
private fun getCustomizationProviderClient(context: Context): CustomizationProviderClient {
return customizationProviderClient
?: CustomizationProviderClientImpl(context, Dispatchers.IO).also {
diff --git a/src/com/android/wallpaper/picker/customization/ui/binder/ScreenPreviewBinder.kt b/src/com/android/wallpaper/picker/customization/ui/binder/ScreenPreviewBinder.kt
index 01903142..a703b9a0 100644
--- a/src/com/android/wallpaper/picker/customization/ui/binder/ScreenPreviewBinder.kt
+++ b/src/com/android/wallpaper/picker/customization/ui/binder/ScreenPreviewBinder.kt
@@ -27,6 +27,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.cardview.widget.CardView
import androidx.core.view.isVisible
+import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
@@ -102,6 +103,19 @@ object ScreenPreviewBinder {
val job =
lifecycleOwner.lifecycleScope.launch {
launch {
+ val lifecycleObserver =
+ object : DefaultLifecycleObserver {
+ override fun onStop(owner: LifecycleOwner) {
+ super.onStop(owner)
+ wallpaperConnection?.disconnect()
+ }
+
+ override fun onPause(owner: LifecycleOwner) {
+ super.onPause(owner)
+ wallpaperConnection?.setVisibility(false)
+ }
+ }
+
lifecycleOwner.repeatOnLifecycle(Lifecycle.State.CREATED) {
previewSurfaceCallback =
WorkspaceSurfaceHolderCallback(
@@ -140,9 +154,12 @@ object ScreenPreviewBinder {
if (!dimWallpaper) {
wallpaperSurface.setZOrderMediaOverlay(true)
}
+
+ lifecycleOwner.lifecycle.addObserver(lifecycleObserver)
}
// Here when destroyed.
+ lifecycleOwner.lifecycle.removeObserver(lifecycleObserver)
workspaceSurface.holder.removeCallback(previewSurfaceCallback)
previewSurfaceCallback?.cleanUp()
wallpaperSurface.holder.removeCallback(wallpaperSurfaceCallback)
@@ -166,9 +183,6 @@ object ScreenPreviewBinder {
}
}
}
-
- // Here when stopped.
- wallpaperConnection?.disconnect()
}
launch {
@@ -212,9 +226,6 @@ object ScreenPreviewBinder {
)
}
}
-
- // Here when paused.
- wallpaperConnection?.setVisibility(false)
}
}