Merge "Exclude IME dialogs from tap outside task bounds funcationality" into nyc-dev

This commit is contained in:
TreeHugger Robot
2016-04-21 00:54:31 +00:00
committed by Android (Google) Code Review

View File

@@ -1805,6 +1805,16 @@ public class WindowManagerService extends IWindowManager.Stub
return true; 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, public int addWindow(Session session, IWindow client, int seq,
WindowManager.LayoutParams attrs, int viewVisibility, int displayId, WindowManager.LayoutParams attrs, int viewVisibility, int displayId,
Rect outContentInsets, Rect outStableInsets, Rect outOutsets, Rect outContentInsets, Rect outStableInsets, Rect outOutsets,
@@ -2003,7 +2013,7 @@ public class WindowManagerService extends IWindowManager.Stub
res = WindowManagerGlobal.ADD_OKAY; res = WindowManagerGlobal.ADD_OKAY;
if (type == TYPE_STATUS_BAR || type == TYPE_NAVIGATION_BAR) { if (excludeWindowTypeFromTapOutTask(type)) {
displayContent.mTapExcludedWindows.add(win); displayContent.mTapExcludedWindows.add(win);
} }
@@ -2395,7 +2405,7 @@ public class WindowManagerService extends IWindowManager.Stub
} }
final int type = win.mAttrs.type; final int type = win.mAttrs.type;
if (type == TYPE_STATUS_BAR || type == TYPE_NAVIGATION_BAR) { if (excludeWindowTypeFromTapOutTask(type)) {
final DisplayContent displaycontent = win.getDisplayContent(); final DisplayContent displaycontent = win.getDisplayContent();
displaycontent.mTapExcludedWindows.remove(win); displaycontent.mTapExcludedWindows.remove(win);
} }