summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt8
-rw-r--r--packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt4
2 files changed, 12 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt b/packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt
index 56046d9c057d..ccb5b1146a1c 100644
--- a/packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt
+++ b/packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt
@@ -79,6 +79,8 @@ open class DisplayCutoutBaseView : View, RegionInterceptableView {
override fun onAttachedToWindow() {
super.onAttachedToWindow()
updateCutout()
+ updateProtectionBoundingPath()
+ onUpdate()
}
fun onDisplayChanged(displayId: Int) {
@@ -93,6 +95,7 @@ open class DisplayCutoutBaseView : View, RegionInterceptableView {
if (displayId == display.displayId) {
updateCutout()
updateProtectionBoundingPath()
+ onUpdate()
}
}
@@ -100,8 +103,13 @@ open class DisplayCutoutBaseView : View, RegionInterceptableView {
displayRotation = rotation
updateCutout()
updateProtectionBoundingPath()
+ onUpdate()
}
+ // Called after the cutout and protection bounding path change. Subclasses
+ // should make any changes that need to happen based on the change.
+ open fun onUpdate() = Unit
+
@VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
public override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt b/packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt
index ae4c365ff270..011881354e35 100644
--- a/packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt
+++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt
@@ -114,6 +114,10 @@ class ScreenDecorHwcLayer(context: Context, displayDecorationSupport: DisplayDec
}
}
+ override fun onUpdate() {
+ parent.requestTransparentRegion(this)
+ }
+
override fun onDraw(canvas: Canvas) {
// If updating onDraw, also update gatherTransparentRegion
if (useInvertedAlphaColor) {