Merge "Fix gesture insets issue for IMEs" into tm-qpr-dev am: 13bf1598b9

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22382921

Change-Id: I96e3e19cef288f3c62bcd72121673de75b740ccc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Winson Chung
2023-04-02 04:09:40 +00:00
committed by Automerger Merge Worker

View File

@@ -64,22 +64,9 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
fun init(controllers: TaskbarControllers) {
this.controllers = controllers
windowLayoutParams = context.windowLayoutParams
setProvidesInsetsTypes(
windowLayoutParams,
intArrayOf(
ITYPE_EXTRA_NAVIGATION_BAR,
ITYPE_BOTTOM_TAPPABLE_ELEMENT,
ITYPE_BOTTOM_MANDATORY_GESTURES,
ITYPE_LEFT_GESTURES,
ITYPE_RIGHT_GESTURES,
),
intArrayOf(SOURCE_FRAME, SOURCE_FRAME, SOURCE_FRAME, SOURCE_DISPLAY, SOURCE_DISPLAY)
)
windowLayoutParams.insetsRoundedCornerFrame = true
onTaskbarWindowHeightOrInsetsChanged()
windowLayoutParams.insetsRoundedCornerFrame = true
context.addOnDeviceProfileChangeListener(deviceProfileChangeListener)
gestureNavSettingsObserver.registerForCallingUser()
}
@@ -90,6 +77,38 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
}
fun onTaskbarWindowHeightOrInsetsChanged() {
if (context.isGestureNav) {
setProvidesInsetsTypes(
windowLayoutParams,
intArrayOf(
ITYPE_EXTRA_NAVIGATION_BAR,
ITYPE_BOTTOM_TAPPABLE_ELEMENT,
ITYPE_BOTTOM_MANDATORY_GESTURES,
ITYPE_LEFT_GESTURES,
ITYPE_RIGHT_GESTURES,
),
intArrayOf(
SOURCE_FRAME,
SOURCE_FRAME,
SOURCE_FRAME,
SOURCE_DISPLAY,
SOURCE_DISPLAY
)
)
} else {
setProvidesInsetsTypes(
windowLayoutParams,
intArrayOf(
ITYPE_EXTRA_NAVIGATION_BAR,
ITYPE_BOTTOM_TAPPABLE_ELEMENT
),
intArrayOf(
SOURCE_FRAME,
SOURCE_FRAME
)
)
}
val touchableHeight = controllers.taskbarStashController.touchableHeight
touchableRegion.set(
0,
@@ -145,7 +164,9 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
for (provider in windowLayoutParams.providedInsets) {
if (context.isGestureNav && provider.type == ITYPE_BOTTOM_TAPPABLE_ELEMENT) {
provider.insetsSizeOverrides = insetsSizeOverrideForGestureNavTappableElement
} else {
} else if (provider.type != ITYPE_LEFT_GESTURES
&& provider.type != ITYPE_RIGHT_GESTURES) {
// We only override insets at the bottom of the screen
provider.insetsSizeOverrides = insetsSizeOverride
}
}