Refine onPointerDownOutsideFocus

The original logic would send onPointerDownOutsideFocus to WindowManager
if a non-focused window is getting touched. And then, WindowManager will
move the display to the top. However, when per-display focus is enabled,
touching on a non-top focused window won't make the display to be moved
to the top. This makes the window cannot receive display-unspecified key
events, and also break some CTS.

This CL would send onPointerDownOutsideFocus if a window is getting
touched, as long as it is not the focused window on the focused display.

Fix: 134157810
Fix: 133323637
Test: atest ActivityLifecycleTopResumedStateTests WindowFocusTests
Change-Id: Ifa42ba766f58ec77e99f67080fd541284bb23c82
diff --git a/services/inputflinger/InputDispatcher.cpp b/services/inputflinger/InputDispatcher.cpp
index 31a2dab..c2ff4c9 100644
--- a/services/inputflinger/InputDispatcher.cpp
+++ b/services/inputflinger/InputDispatcher.cpp
@@ -2172,9 +2172,8 @@
         return;
     }
 
-    int32_t displayId = inputWindowHandle->getInfo()->displayId;
     sp<InputWindowHandle> focusedWindowHandle =
-            getValueByKey(mFocusedWindowHandlesByDisplay, displayId);
+            getValueByKey(mFocusedWindowHandlesByDisplay, mFocusedDisplayId);
 
     bool hasFocusChanged = !focusedWindowHandle || focusedWindowHandle->getToken() != newToken;