diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index fe2423093c881..1b37ed47c3921 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -636,7 +636,7 @@ public interface WindowManager extends ViewManager { /** * Window type: shares similar characteristics with {@link #TYPE_DREAM}. The layer is - * reserved for screenshot region selection. + * reserved for screenshot region selection. These windows must not take input focus. * @hide */ public static final int TYPE_SCREENSHOT = FIRST_SYSTEM_WINDOW + 36; diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index f1ab1834931b8..46bf239b9b840 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -2229,6 +2229,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { attrs.privateFlags &= ~WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD; } break; + case TYPE_SCREENSHOT: + attrs.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; + break; } if (attrs.type != TYPE_STATUS_BAR) {