diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java index d94c8277b82c8..4a6df76bd8a00 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java @@ -513,6 +513,10 @@ public class ScreenshotController { Log.d(TAG, "adding OnComputeInternalInsetsListener"); } mScreenshotView.getViewTreeObserver().addOnComputeInternalInsetsListener(mScreenshotView); + if (DEBUG_WINDOW) { + Log.d(TAG, "setContentView: " + mScreenshotView); + } + setContentView(mScreenshotView); } /** @@ -587,6 +591,7 @@ public class ScreenshotController { // The window is focusable by default setWindowFocusable(true); + mScreenshotView.requestFocus(); // Wait until this window is attached to request because it is // the reference used to locate the target window (below). @@ -645,10 +650,7 @@ public class ScreenshotController { mContext.getPackageManager().getUserBadgeForDensity(owner, 0)); } mScreenshotView.setScreenshot(mScreenBitmap, screenInsets); - if (DEBUG_WINDOW) { - Log.d(TAG, "setContentView: " + mScreenshotView); - } - setContentView(mScreenshotView); + // ignore system bar insets for the purpose of window layout mWindow.getDecorView().setOnApplyWindowInsetsListener( (v, insets) -> WindowInsets.CONSUMED);