Revert "Remove filterNonTouchAsIs function"

This reverts commit 719f50602d24d9b180762ac8687d4b643f657566.

Reason for revert: Testing breakages in b/266911763 

Change-Id: Id03395f06fc1fca7a290978b18ebbda3b234124d
diff --git a/services/inputflinger/dispatcher/InputDispatcher.cpp b/services/inputflinger/dispatcher/InputDispatcher.cpp
index a97fda0..dc9f02a 100644
--- a/services/inputflinger/dispatcher/InputDispatcher.cpp
+++ b/services/inputflinger/dispatcher/InputDispatcher.cpp
@@ -2441,14 +2441,15 @@
     }
 
     // Update dispatching for hover enter and exit.
-    std::vector<TouchedWindow> hoveringWindows =
-            getHoveringWindowsLocked(oldState, tempTouchState, entry);
-    for (const TouchedWindow& touchedWindow : hoveringWindows) {
-        addWindowTargetLocked(touchedWindow.windowHandle, touchedWindow.targetFlags,
-                              touchedWindow.pointerIds, touchedWindow.firstDownTimeInTarget,
-                              targets);
+    {
+        std::vector<TouchedWindow> hoveringWindows =
+                getHoveringWindowsLocked(oldState, tempTouchState, entry);
+        for (const TouchedWindow& touchedWindow : hoveringWindows) {
+            addWindowTargetLocked(touchedWindow.windowHandle, touchedWindow.targetFlags,
+                                  touchedWindow.pointerIds, touchedWindow.firstDownTimeInTarget,
+                                  targets);
+        }
     }
-
     // Ensure that we have at least one foreground window or at least one window that cannot be a
     // foreground target. If we only have windows that are not receiving foreground touches (e.g. we
     // only have windows getting ACTION_OUTSIDE), then drop the event, because there is no window
@@ -2514,6 +2515,9 @@
     }
 
     outInjectionResult = InputEventInjectionResult::SUCCEEDED;
+    // Drop the outside or hover touch windows since we will not care about them
+    // in the next iteration.
+    tempTouchState.filterNonAsIsTouchWindows();
 
     // Update final pieces of touch state if the injector had permission.
     if (switchedDevice) {