Merge pull request #10686 from t895/version-check
android: Fix input overlay version check
This commit is contained in:
commit
55b543f466
1 changed files with 12 additions and 10 deletions
|
@ -765,8 +765,9 @@ class InputOverlay(context: Context, attrs: AttributeSet?) : SurfaceView(context
|
||||||
// If we have API access, calculate the safe area to draw the overlay
|
// If we have API access, calculate the safe area to draw the overlay
|
||||||
var cutoutLeft = 0
|
var cutoutLeft = 0
|
||||||
var cutoutBottom = 0
|
var cutoutBottom = 0
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
val insets = context.windowManager.currentWindowMetrics.windowInsets.displayCutout
|
val insets = context.windowManager.currentWindowMetrics.windowInsets.displayCutout
|
||||||
if (insets != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
if (insets != null) {
|
||||||
if (insets.boundingRectTop.bottom != 0 && insets.boundingRectTop.bottom > maxY / 2)
|
if (insets.boundingRectTop.bottom != 0 && insets.boundingRectTop.bottom > maxY / 2)
|
||||||
insets.boundingRectTop.bottom.toFloat() else maxY
|
insets.boundingRectTop.bottom.toFloat() else maxY
|
||||||
if (insets.boundingRectRight.left != 0 && insets.boundingRectRight.left > maxX / 2)
|
if (insets.boundingRectRight.left != 0 && insets.boundingRectRight.left > maxX / 2)
|
||||||
|
@ -778,6 +779,7 @@ class InputOverlay(context: Context, attrs: AttributeSet?) : SurfaceView(context
|
||||||
cutoutLeft = insets.boundingRectRight.right - insets.boundingRectRight.left
|
cutoutLeft = insets.boundingRectRight.right - insets.boundingRectRight.left
|
||||||
cutoutBottom = insets.boundingRectTop.top - insets.boundingRectTop.bottom
|
cutoutBottom = insets.boundingRectTop.top - insets.boundingRectTop.bottom
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// This makes sure that if we have an inset on one side of the screen, we mirror it on
|
// This makes sure that if we have an inset on one side of the screen, we mirror it on
|
||||||
// the other side. Since removing space from one of the max values messes with the scale,
|
// the other side. Since removing space from one of the max values messes with the scale,
|
||||||
|
|
Loading…
Reference in a new issue