From b3ae628daf413b155b5515856041c31f04a68598 Mon Sep 17 00:00:00 2001 From: Vishnu Nair Date: Fri, 18 Jun 2021 17:30:51 -0700 Subject: [PATCH] FocusResolver: Clean up focus requests and results when a display is removed Prevents FocusResolver from leaking focus requests and results as displays are added and removed. Test: atest inputflinger_tests Fixes: 188008394 Change-Id: I09d0e39615ed09958801f126d33742d0a634949a --- .../jni/com_android_server_input_InputManagerService.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/services/core/jni/com_android_server_input_InputManagerService.cpp b/services/core/jni/com_android_server_input_InputManagerService.cpp index e13ef99e17dd0..a94ad4ad7ef22 100644 --- a/services/core/jni/com_android_server_input_InputManagerService.cpp +++ b/services/core/jni/com_android_server_input_InputManagerService.cpp @@ -997,10 +997,7 @@ void NativeInputManager::getDispatcherConfiguration(InputDispatcherConfiguration } void NativeInputManager::displayRemoved(JNIEnv* env, int32_t displayId) { - // Set an empty list to remove all handles from the specific display. - std::vector> windowHandles; - mInputManager->getDispatcher()->setInputWindows({{displayId, windowHandles}}); - mInputManager->getDispatcher()->setFocusedApplication(displayId, nullptr); + mInputManager->getDispatcher()->displayRemoved(displayId); } void NativeInputManager::setFocusedApplication(JNIEnv* env, int32_t displayId,