diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt index a935bac2a0..73cae97ce1 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt @@ -15,6 +15,7 @@ */ package com.android.launcher3.taskbar +import android.inputmethodservice.InputMethodService.ENABLE_HIDE_IME_CAPTION_BAR import android.graphics.Insets import android.graphics.Region import android.os.Binder @@ -198,16 +199,22 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas val imeInsetsSize = getInsetsForGravity(taskbarHeightForIme, gravity) val imeInsetsSizeOverride = - arrayOf( - InsetsFrameProvider.InsetsSizeOverride(TYPE_INPUT_METHOD, imeInsetsSize), - ) + if (!ENABLE_HIDE_IME_CAPTION_BAR) { + arrayOf( + InsetsFrameProvider.InsetsSizeOverride( + TYPE_INPUT_METHOD, + imeInsetsSize + ), + ) + } else { + arrayOf() + } // Use 0 tappableElement insets for the VoiceInteractionWindow when gesture nav is enabled. val visInsetsSizeForTappableElement = if (context.isGestureNav) getInsetsForGravity(0, gravity) else getInsetsForGravity(tappableHeight, gravity) val insetsSizeOverrideForTappableElement = - arrayOf( - InsetsFrameProvider.InsetsSizeOverride(TYPE_INPUT_METHOD, imeInsetsSize), + imeInsetsSizeOverride + arrayOf( InsetsFrameProvider.InsetsSizeOverride( TYPE_VOICE_INTERACTION, visInsetsSizeForTappableElement @@ -216,7 +223,7 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas if ((context.isGestureNav || TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW) && provider.type == tappableElement()) { provider.insetsSizeOverrides = insetsSizeOverrideForTappableElement - } else if (provider.type != systemGestures()) { + } else if (provider.type != systemGestures() && imeInsetsSizeOverride.isNotEmpty()) { // We only override insets at the bottom of the screen provider.insetsSizeOverrides = imeInsetsSizeOverride }