diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index dfbc51945b..87de5964f7 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -212,6 +212,8 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ mWindowLayoutParams.providedInternalImeInsets = Insets.of(0, getDefaultTaskbarWindowHeight() - mTaskbarHeightForIme, 0, 0); + mWindowLayoutParams.insetsRoundedCornerFrame = true; + // Initialize controllers after all are constructed. mControllers.init(sharedState); updateSysuiStateFlags(sharedState.sysuiStateFlags, true /* fromInit */); @@ -445,6 +447,18 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ return mIsFullscreen; } + /** + * Notify system to inset the rounded corner frame based on the task bar insets. + */ + public void updateInsetRoundedCornerFrame(boolean shouldInsetsRoundedCorner) { + if (!mDragLayer.isAttachedToWindow() + || mWindowLayoutParams.insetsRoundedCornerFrame == shouldInsetsRoundedCorner) { + return; + } + mWindowLayoutParams.insetsRoundedCornerFrame = shouldInsetsRoundedCorner; + mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams); + } + /** * Updates the TaskbarContainer height (pass {@link #getDefaultTaskbarWindowHeight()} to reset). */ diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java index a3ad83504c..5b275d0861 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -525,6 +525,7 @@ public class TaskbarStashController { private void notifyStashChange(boolean visible, boolean stashed) { mSystemUiProxy.notifyTaskbarStatus(visible, stashed); + mControllers.taskbarActivityContext.updateInsetRoundedCornerFrame(visible && !stashed); mControllers.rotationButtonController.onTaskbarStateChange(visible, stashed); }