summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt37
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.kt11
2 files changed, 37 insertions, 11 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt
index 3630b4038357..397cbe5b3e5d 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt
@@ -22,11 +22,16 @@ import android.graphics.drawable.Animatable2
import android.util.Size
import android.view.View
import android.view.ViewGroup
+import android.view.ViewGroup.MarginLayoutParams
+import android.view.WindowInsets
import android.widget.ImageView
import androidx.core.animation.CycleInterpolator
import androidx.core.animation.ObjectAnimator
import androidx.core.view.isInvisible
import androidx.core.view.isVisible
+import androidx.core.view.marginLeft
+import androidx.core.view.marginRight
+import androidx.core.view.marginTop
import androidx.core.view.updateLayoutParams
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.repeatOnLifecycle
@@ -114,6 +119,38 @@ object KeyguardBottomAreaViewBinder {
val settingsMenu: LaunchableLinearLayout =
view.requireViewById(R.id.keyguard_settings_button)
+ startButton.setOnApplyWindowInsetsListener { inView, windowInsets ->
+ val bottomInset = windowInsets.displayCutout?.safeInsetBottom ?: 0
+ val marginBottom =
+ inView.resources.getDimension(R.dimen.keyguard_affordance_vertical_offset).toInt()
+ inView.layoutParams =
+ (inView.layoutParams as MarginLayoutParams).apply {
+ setMargins(
+ inView.marginLeft,
+ inView.marginTop,
+ inView.marginRight,
+ marginBottom + bottomInset
+ )
+ }
+ WindowInsets.CONSUMED
+ }
+
+ endButton.setOnApplyWindowInsetsListener { inView, windowInsets ->
+ val bottomInset = windowInsets.displayCutout?.safeInsetBottom ?: 0
+ val marginBottom =
+ inView.resources.getDimension(R.dimen.keyguard_affordance_vertical_offset).toInt()
+ inView.layoutParams =
+ (inView.layoutParams as MarginLayoutParams).apply {
+ setMargins(
+ inView.marginLeft,
+ inView.marginTop,
+ inView.marginRight,
+ marginBottom + bottomInset
+ )
+ }
+ WindowInsets.CONSUMED
+ }
+
view.clipChildren = false
view.clipToPadding = false
view.setOnTouchListener { _, event ->
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.kt
index 25e634a03ef7..82b10bc11cc1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.kt
@@ -20,7 +20,6 @@ import android.content.res.Configuration
import android.util.AttributeSet
import android.view.View
import android.view.ViewGroup
-import android.view.WindowInsets
import android.widget.FrameLayout
import androidx.annotation.StringRes
import com.android.keyguard.LockIconViewController
@@ -148,16 +147,6 @@ constructor(
return false
}
- override fun onApplyWindowInsets(insets: WindowInsets): WindowInsets {
- val bottom = insets.displayCutout?.safeInsetBottom ?: 0
- if (isPaddingRelative) {
- setPaddingRelative(paddingStart, paddingTop, paddingEnd, bottom)
- } else {
- setPadding(paddingLeft, paddingTop, paddingRight, bottom)
- }
- return insets
- }
-
override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
super.onLayout(changed, left, top, right, bottom)
findViewById<View>(R.id.ambient_indication_container)?.let {