summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuK1337 <priv.luk@gmail.com>2023-06-20 18:27:48 +0200
committeralk3pInjection <webmaster@raspii.tech>2023-12-27 00:35:28 +0800
commitf07a1ea79c2525ea1fee2d5584398f9f62645141 (patch)
tree95fff2a7ea8077f8f8eb54a3cd4f7fdbcfcff726
parent27e8b407648993c144db302a0d0067c689e72c18 (diff)
ThemePicker: Apply window insets to fragmentsumineko
Adapt to system window insets (e.g. navigation bar) for the customization screens for clock, colors, app grid, and lockscreen shortcuts. Co-authored-by: Tommy Webb <tommy@calyxinstitute.org> Change-Id: Ia53e574c9b8cf034327183448292cd0c14858c52
-rw-r--r--src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt12
-rw-r--r--src/com/android/customization/picker/clock/ui/fragment/ClockCustomDemoFragment.kt13
-rw-r--r--src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt12
-rw-r--r--src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt13
-rw-r--r--src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt13
5 files changed, 63 insertions, 0 deletions
diff --git a/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt b/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt
index 6ab561f3..b32cf2da 100644
--- a/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt
+++ b/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt
@@ -21,6 +21,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.WindowInsets
import androidx.lifecycle.ViewModelProvider
import com.android.customization.model.grid.ui.binder.GridScreenBinder
import com.android.customization.model.grid.ui.viewmodel.GridScreenViewModel
@@ -54,6 +55,17 @@ class GridFragment2 : AppbarFragment() {
)
setUpToolbar(view)
+ // For nav bar edge-to-edge effect.
+ view.setOnApplyWindowInsetsListener { v: View, windowInsets: WindowInsets ->
+ v.setPadding(
+ v.paddingLeft,
+ v.paddingTop,
+ v.paddingRight,
+ windowInsets.systemWindowInsetBottom
+ )
+ windowInsets
+ }
+
val injector = InjectorProvider.getInjector() as ThemePickerInjector
val wallpaperInfoFactory = injector.getCurrentWallpaperInfoFactory(requireContext())
diff --git a/src/com/android/customization/picker/clock/ui/fragment/ClockCustomDemoFragment.kt b/src/com/android/customization/picker/clock/ui/fragment/ClockCustomDemoFragment.kt
index f138d6a4..00f23308 100644
--- a/src/com/android/customization/picker/clock/ui/fragment/ClockCustomDemoFragment.kt
+++ b/src/com/android/customization/picker/clock/ui/fragment/ClockCustomDemoFragment.kt
@@ -9,6 +9,7 @@ import android.view.View
import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
+import android.view.WindowInsets
import android.widget.FrameLayout
import android.widget.TextView
import android.widget.Toast
@@ -34,6 +35,18 @@ class ClockCustomDemoFragment : AppbarFragment() {
): View {
val view = inflater.inflate(R.layout.fragment_clock_custom_picker_demo, container, false)
setUpToolbar(view)
+
+ // For nav bar edge-to-edge effect.
+ view.setOnApplyWindowInsetsListener { v: View, windowInsets: WindowInsets ->
+ v.setPadding(
+ v.paddingLeft,
+ v.paddingTop,
+ v.paddingRight,
+ windowInsets.systemWindowInsetBottom
+ )
+ windowInsets
+ }
+
clockRegistry =
(InjectorProvider.getInjector() as ThemePickerInjector).getClockRegistry(
requireContext(),
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 f4684d88..d22d62e6 100644
--- a/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
+++ b/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
@@ -19,6 +19,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.WindowInsets
import androidx.cardview.widget.CardView
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.get
@@ -59,6 +60,17 @@ class ClockSettingsFragment : AppbarFragment() {
)
setUpToolbar(view)
+ // For nav bar edge-to-edge effect.
+ view.setOnApplyWindowInsetsListener { v: View, windowInsets: WindowInsets ->
+ v.setPadding(
+ v.paddingLeft,
+ v.paddingTop,
+ v.paddingRight,
+ windowInsets.systemWindowInsetBottom
+ )
+ windowInsets
+ }
+
val context = requireContext()
val activity = requireActivity()
val injector = InjectorProvider.getInjector() as ThemePickerInjector
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 78bfa43e..23ac2b6d 100644
--- a/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
+++ b/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
@@ -20,6 +20,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.WindowInsets
import android.widget.FrameLayout
import androidx.cardview.widget.CardView
import androidx.lifecycle.ViewModelProvider
@@ -67,6 +68,18 @@ class ColorPickerFragment : AppbarFragment() {
false,
)
setUpToolbar(view)
+
+ // For nav bar edge-to-edge effect.
+ view.setOnApplyWindowInsetsListener { v: View, windowInsets: WindowInsets ->
+ v.setPadding(
+ v.paddingLeft,
+ v.paddingTop,
+ v.paddingRight,
+ windowInsets.systemWindowInsetBottom
+ )
+ windowInsets
+ }
+
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/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt b/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
index d5f0d33d..1a9f8ac5 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
@@ -21,6 +21,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.WindowInsets
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.get
import com.android.customization.module.ThemePickerInjector
@@ -54,6 +55,18 @@ class KeyguardQuickAffordancePickerFragment : AppbarFragment() {
false,
)
setUpToolbar(view)
+
+ // For nav bar edge-to-edge effect.
+ view.setOnApplyWindowInsetsListener { v: View, windowInsets: WindowInsets ->
+ v.setPadding(
+ v.paddingLeft,
+ v.paddingTop,
+ v.paddingRight,
+ windowInsets.systemWindowInsetBottom
+ )
+ windowInsets
+ }
+
val injector = InjectorProvider.getInjector() as ThemePickerInjector
val viewModel: KeyguardQuickAffordancePickerViewModel =
ViewModelProvider(