diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/InsetsPolicy.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/InsetsPolicy.java b/services/core/java/com/android/server/wm/InsetsPolicy.java index 2f95119d67cb..d28dfd54c37f 100644 --- a/services/core/java/com/android/server/wm/InsetsPolicy.java +++ b/services/core/java/com/android/server/wm/InsetsPolicy.java @@ -144,15 +144,21 @@ class InsetsPolicy { getStatusControlTarget(focusedWin, false /* fake */); final InsetsControlTarget navControlTarget = getNavControlTarget(focusedWin, false /* fake */); + final WindowState notificationShade = mPolicy.getNotificationShade(); + final WindowState topApp = mPolicy.getTopFullscreenOpaqueWindow(); mStateController.onBarControlTargetChanged( statusControlTarget, statusControlTarget == mDummyControlTarget ? getStatusControlTarget(focusedWin, true /* fake */) - : null, + : statusControlTarget == notificationShade + ? getStatusControlTarget(topApp, true /* fake */) + : null, navControlTarget, navControlTarget == mDummyControlTarget ? getNavControlTarget(focusedWin, true /* fake */) - : null); + : navControlTarget == notificationShade + ? getNavControlTarget(topApp, true /* fake */) + : null); mStatusBar.updateVisibility(statusControlTarget, ITYPE_STATUS_BAR); mNavBar.updateVisibility(navControlTarget, ITYPE_NAVIGATION_BAR); } |