summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 38f12a13e379..a310729ec117 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -1805,6 +1805,16 @@ public class WindowManagerService extends IWindowManager.Stub
return true;
}
+ private static boolean excludeWindowTypeFromTapOutTask(int windowType) {
+ switch (windowType) {
+ case TYPE_STATUS_BAR:
+ case TYPE_NAVIGATION_BAR:
+ case TYPE_INPUT_METHOD_DIALOG:
+ return true;
+ }
+ return false;
+ }
+
public int addWindow(Session session, IWindow client, int seq,
WindowManager.LayoutParams attrs, int viewVisibility, int displayId,
Rect outContentInsets, Rect outStableInsets, Rect outOutsets,
@@ -2003,7 +2013,7 @@ public class WindowManagerService extends IWindowManager.Stub
res = WindowManagerGlobal.ADD_OKAY;
- if (type == TYPE_STATUS_BAR || type == TYPE_NAVIGATION_BAR) {
+ if (excludeWindowTypeFromTapOutTask(type)) {
displayContent.mTapExcludedWindows.add(win);
}
@@ -2395,7 +2405,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
final int type = win.mAttrs.type;
- if (type == TYPE_STATUS_BAR || type == TYPE_NAVIGATION_BAR) {
+ if (excludeWindowTypeFromTapOutTask(type)) {
final DisplayContent displaycontent = win.getDisplayContent();
displaycontent.mTapExcludedWindows.remove(win);
}