Snap for 12265118 from f705dddb80da27a4e193b8bff96ff1bb269af258 to 24Q4-release
Change-Id: Ib1b18e287ad8db154d02bf8a74a9ced5c88769b2
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6e5844d..f89ff6e 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -82,6 +82,16 @@
<activity
tools:node="replace"
+ android:name="com.android.wallpaper.picker.customization.ui.CustomizationPickerActivity2"
+ android:label="@string/app_name"
+ android:relinquishTaskIdentity="true"
+ android:resizeableActivity="false"
+ android:theme="@style/WallpaperTheme"
+ android:configChanges="assetsPaths"
+ android:exported="false"/>
+
+ <activity
+ tools:node="replace"
android:name="com.android.wallpaper.picker.PassThroughCustomizationPickerActivity"
android:label="@string/app_name"
android:resizeableActivity="false"
diff --git a/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt b/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
index c2e6717..b66150f 100644
--- a/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
+++ b/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
@@ -19,9 +19,13 @@
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.ViewGroup.MarginLayoutParams
import androidx.cardview.widget.CardView
import androidx.core.content.ContextCompat
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
+import androidx.core.view.updateLayoutParams
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.get
import androidx.transition.Transition
@@ -61,6 +65,14 @@
container,
false,
)
+ ViewCompat.setOnApplyWindowInsetsListener(view) { v, windowInsets ->
+ val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
+ v.updateLayoutParams<MarginLayoutParams> {
+ topMargin = insets.top
+ bottomMargin = insets.bottom
+ }
+ WindowInsetsCompat.CONSUMED
+ }
setUpToolbar(view)
val context = requireContext()
diff --git a/src/com/android/customization/picker/clock/ui/view/ClockViewFactoryImpl.kt b/src/com/android/customization/picker/clock/ui/view/ClockViewFactoryImpl.kt
index d46d2e0..a3f7c51 100644
--- a/src/com/android/customization/picker/clock/ui/view/ClockViewFactoryImpl.kt
+++ b/src/com/android/customization/picker/clock/ui/view/ClockViewFactoryImpl.kt
@@ -18,7 +18,6 @@
import android.app.WallpaperColors
import android.app.WallpaperManager
import android.content.Context
-import android.content.res.Resources
import android.graphics.Point
import android.graphics.Rect
import android.view.View
@@ -26,6 +25,7 @@
import androidx.annotation.ColorInt
import androidx.core.text.util.LocalePreferences
import androidx.lifecycle.LifecycleOwner
+import com.android.internal.policy.SystemBarUtils
import com.android.systemui.plugins.clocks.ClockController
import com.android.systemui.plugins.clocks.WeatherData
import com.android.systemui.shared.clocks.ClockRegistry
@@ -106,9 +106,10 @@
}
private fun getSmallClockTopMargin() =
- appContext.resources.getDimensionPixelSize(
- com.android.systemui.customization.R.dimen.small_clock_padding_top
- )
+ getStatusBarHeight(appContext) +
+ appContext.resources.getDimensionPixelSize(
+ com.android.systemui.customization.R.dimen.small_clock_padding_top
+ )
private fun getSmallClockStartPadding() =
appContext.resources.getDimensionPixelSize(
@@ -256,11 +257,18 @@
const val TEMPERATURE_CELSIUS_PLACEHOLDER = 21
val WEATHERICON_PLACEHOLDER = WeatherData.WeatherStateIcon.MOSTLY_SUNNY
- private fun getStatusBarHeight(resource: Resources): Int {
+ private fun getStatusBarHeight(context: Context): Int {
+
+ val display = context.displayNoVerify
+ if (display != null) {
+ return SystemBarUtils.getStatusBarHeight(context.resources, display.cutout)
+ }
+
var result = 0
- val resourceId: Int = resource.getIdentifier("status_bar_height", "dimen", "android")
+ val resourceId: Int =
+ context.resources.getIdentifier("status_bar_height", "dimen", "android")
if (resourceId > 0) {
- result = resource.getDimensionPixelSize(resourceId)
+ result = context.resources.getDimensionPixelSize(resourceId)
}
return result
}
diff --git a/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt b/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
index c5eb76f..3f4bf57 100644
--- a/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
+++ b/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
@@ -20,10 +20,14 @@
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.ViewGroup.MarginLayoutParams
import android.widget.FrameLayout
import androidx.cardview.widget.CardView
import androidx.core.content.ContextCompat
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
+import androidx.core.view.updateLayoutParams
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.get
import androidx.lifecycle.lifecycleScope
@@ -70,7 +74,16 @@
container,
false,
)
+ ViewCompat.setOnApplyWindowInsetsListener(view) { v, windowInsets ->
+ val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
+ v.updateLayoutParams<MarginLayoutParams> {
+ topMargin = insets.top
+ bottomMargin = insets.bottom
+ }
+ WindowInsetsCompat.CONSUMED
+ }
setUpToolbar(view)
+
val injector = InjectorProvider.getInjector() as ThemePickerInjector
val lockScreenView: CardView = view.requireViewById(R.id.lock_preview)
val homeScreenView: CardView = view.requireViewById(R.id.home_preview)
diff --git a/src/com/android/customization/picker/grid/ui/fragment/GridFragment.kt b/src/com/android/customization/picker/grid/ui/fragment/GridFragment.kt
index 7e2341c..7637994 100644
--- a/src/com/android/customization/picker/grid/ui/fragment/GridFragment.kt
+++ b/src/com/android/customization/picker/grid/ui/fragment/GridFragment.kt
@@ -22,10 +22,14 @@
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.ViewGroup.MarginLayoutParams
import android.widget.Button
import android.widget.Toast
import androidx.core.content.ContextCompat
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
+import androidx.core.view.updateLayoutParams
import androidx.lifecycle.ViewModelProvider
import androidx.transition.Transition
import androidx.transition.doOnStart
@@ -66,6 +70,14 @@
container,
false,
)
+ ViewCompat.setOnApplyWindowInsetsListener(view) { v, windowInsets ->
+ val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
+ v.updateLayoutParams<MarginLayoutParams> {
+ topMargin = insets.top
+ bottomMargin = insets.bottom
+ }
+ WindowInsetsCompat.CONSUMED
+ }
setUpToolbar(view)
val isGridApplyButtonEnabled = BaseFlags.get().isGridApplyButtonEnabled(requireContext())
diff --git a/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt b/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
index 8b1c44a..f9925b4 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
@@ -21,8 +21,12 @@
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.ViewGroup.MarginLayoutParams
import androidx.core.content.ContextCompat
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
+import androidx.core.view.updateLayoutParams
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.get
import androidx.transition.Transition
@@ -38,6 +42,7 @@
class KeyguardQuickAffordancePickerFragment : AppbarFragment() {
companion object {
const val DESTINATION_ID = "quick_affordances"
+
@JvmStatic
fun newInstance(): KeyguardQuickAffordancePickerFragment {
return KeyguardQuickAffordancePickerFragment()
@@ -55,7 +60,16 @@
container,
false,
)
+ ViewCompat.setOnApplyWindowInsetsListener(view) { v, windowInsets ->
+ val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
+ v.updateLayoutParams<MarginLayoutParams> {
+ topMargin = insets.top
+ bottomMargin = insets.bottom
+ }
+ WindowInsetsCompat.CONSUMED
+ }
setUpToolbar(view)
+
val injector = InjectorProvider.getInjector() as ThemePickerInjector
val viewModel: KeyguardQuickAffordancePickerViewModel =
ViewModelProvider(