Add WindowInfosListener to Input
Register a WindowInfosListener in InputDispatcher to allow
it to listen for window info changes rather than SurfaceFlinger
having to talk directly to InputDispatcher.
Test: Existing tests pass
Bug: 188792659
Change-Id: If6ccfb0c8c5af0a7b3777c9002157128568cbb6e
diff --git a/services/inputflinger/InputManager.cpp b/services/inputflinger/InputManager.cpp
index e81dcfe..693b1f9 100644
--- a/services/inputflinger/InputManager.cpp
+++ b/services/inputflinger/InputManager.cpp
@@ -114,15 +114,6 @@
return mDispatcher;
}
-class BinderWindowHandle : public WindowInfoHandle {
-public:
- BinderWindowHandle(const WindowInfo& info) { mInfo = info; }
-
- bool updateInfo() override {
- return true;
- }
-};
-
binder::Status InputManager::setInputWindows(
const std::vector<WindowInfo>& infos,
const sp<ISetInputWindowsListener>& setInputWindowsListener) {
@@ -131,7 +122,7 @@
std::vector<sp<WindowInfoHandle>> handles;
for (const auto& info : infos) {
handlesPerDisplay.emplace(info.displayId, std::vector<sp<WindowInfoHandle>>());
- handlesPerDisplay[info.displayId].push_back(new BinderWindowHandle(info));
+ handlesPerDisplay[info.displayId].push_back(new WindowInfoHandle(info));
}
mDispatcher->setInputWindows(handlesPerDisplay);