diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 296000b054..a22398d7e3 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -29,6 +29,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_N import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; import static com.android.systemui.shared.system.WindowManagerWrapper.ITYPE_BOTTOM_TAPPABLE_ELEMENT; import static com.android.systemui.shared.system.WindowManagerWrapper.ITYPE_EXTRA_NAVIGATION_BAR; +import static com.android.systemui.shared.system.WindowManagerWrapper.ITYPE_SIZE; import android.animation.AnimatorSet; import android.app.ActivityOptions; @@ -214,8 +215,12 @@ public class TaskbarActivityContext extends BaseTaskbarContext { ); // Adjust the frame by the rounded corners (ie. leaving just the bar as the inset) when // the IME is showing - mWindowLayoutParams.providedInternalImeInsets = Insets.of(0, + mWindowLayoutParams.providedInternalImeInsets = new Insets[ITYPE_SIZE]; + final Insets reducingSize = Insets.of(0, getDefaultTaskbarWindowHeight() - mTaskbarHeightForIme, 0, 0); + mWindowLayoutParams.providedInternalImeInsets[ITYPE_EXTRA_NAVIGATION_BAR] = reducingSize; + mWindowLayoutParams.providedInternalImeInsets[ITYPE_BOTTOM_TAPPABLE_ELEMENT] = + reducingSize; mWindowLayoutParams.insetsRoundedCornerFrame = true; @@ -563,8 +568,14 @@ public class TaskbarActivityContext extends BaseTaskbarContext { } } mWindowLayoutParams.height = height; - mWindowLayoutParams.providedInternalImeInsets = + final Insets reducingSize = Insets.of(0, height - mTaskbarHeightForIme, 0, 0); + if (mWindowLayoutParams.providedInternalImeInsets == null) { + mWindowLayoutParams.providedInternalImeInsets = new Insets[ITYPE_SIZE]; + } + mWindowLayoutParams.providedInternalImeInsets[ITYPE_EXTRA_NAVIGATION_BAR] = reducingSize; + mWindowLayoutParams.providedInternalImeInsets[ITYPE_BOTTOM_TAPPABLE_ELEMENT] = + reducingSize; mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams); }