Loading services/core/java/com/android/server/wm/WindowManagerService.java +16 −0 Original line number Diff line number Diff line Loading @@ -8947,6 +8947,22 @@ public class WindowManagerService extends IWindowManager.Stub // display it's on to the top since that window won't be able to get focus anyway. return; } final ActivityRecord touchedApp = t.getActivityRecord(); if (touchedApp != null && touchedApp.getTask() != null) { final ActivityRecord top = touchedApp.getTask().topRunningActivity(); if (top != touchedApp && top.getTaskFragment().getBounds().contains( touchedApp.getTaskFragment().getBounds())) { // This is a special case where the pointer-down-outside focus on an Activity that's // entirely occluded by the task top running activity, this is possible if the // pointer-down-outside-focus event is delayed (after new activity started on top). // In that case, drop the event to prevent changing focus to a background activity. Slog.w(TAG, "onPointerDownOutsideFocusLocked, drop event because " + touchedApp + " is occluded and should not be focused."); return; } } clearPointerDownOutsideFocusRunnable(); if (shouldDelayTouchOutside(t)) { Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +16 −0 Original line number Diff line number Diff line Loading @@ -8947,6 +8947,22 @@ public class WindowManagerService extends IWindowManager.Stub // display it's on to the top since that window won't be able to get focus anyway. return; } final ActivityRecord touchedApp = t.getActivityRecord(); if (touchedApp != null && touchedApp.getTask() != null) { final ActivityRecord top = touchedApp.getTask().topRunningActivity(); if (top != touchedApp && top.getTaskFragment().getBounds().contains( touchedApp.getTaskFragment().getBounds())) { // This is a special case where the pointer-down-outside focus on an Activity that's // entirely occluded by the task top running activity, this is possible if the // pointer-down-outside-focus event is delayed (after new activity started on top). // In that case, drop the event to prevent changing focus to a background activity. Slog.w(TAG, "onPointerDownOutsideFocusLocked, drop event because " + touchedApp + " is occluded and should not be focused."); return; } } clearPointerDownOutsideFocusRunnable(); if (shouldDelayTouchOutside(t)) { Loading