diff options
-rw-r--r-- | core/jni/android_window_WindowInfosListener.cpp | 10 | ||||
-rw-r--r-- | libs/input/PointerController.cpp | 5 | ||||
-rw-r--r-- | libs/input/PointerController.h | 4 | ||||
-rw-r--r-- | libs/input/tests/PointerController_test.cpp | 2 |
4 files changed, 11 insertions, 10 deletions
diff --git a/core/jni/android_window_WindowInfosListener.cpp b/core/jni/android_window_WindowInfosListener.cpp index 850755a62fa6..55995df299b0 100644 --- a/core/jni/android_window_WindowInfosListener.cpp +++ b/core/jni/android_window_WindowInfosListener.cpp @@ -21,6 +21,7 @@ #include <android_runtime/Log.h> #include <gui/DisplayInfo.h> #include <gui/SurfaceComposerClient.h> +#include <gui/WindowInfosUpdate.h> #include <nativehelper/JNIHelp.h> #include <nativehelper/ScopedLocalFrame.h> #include <utils/Log.h> @@ -91,8 +92,7 @@ struct WindowInfosListener : public gui::WindowInfosListener { WindowInfosListener(JNIEnv* env, jobject listener) : mListener(env->NewWeakGlobalRef(listener)) {} - void onWindowInfosChanged(const std::vector<WindowInfo>& windowInfos, - const std::vector<DisplayInfo>& displayInfos) override { + void onWindowInfosChanged(const gui::WindowInfosUpdate& update) override { JNIEnv* env = AndroidRuntime::getJNIEnv(); LOG_ALWAYS_FATAL_IF(env == nullptr, "Unable to retrieve JNIEnv in onWindowInfoChanged."); @@ -103,8 +103,10 @@ struct WindowInfosListener : public gui::WindowInfosListener { return; } - ScopedLocalRef<jobjectArray> jWindowHandlesArray(env, fromWindowInfos(env, windowInfos)); - ScopedLocalRef<jobjectArray> jDisplayInfoArray(env, fromDisplayInfos(env, displayInfos)); + ScopedLocalRef<jobjectArray> jWindowHandlesArray(env, + fromWindowInfos(env, update.windowInfos)); + ScopedLocalRef<jobjectArray> jDisplayInfoArray(env, + fromDisplayInfos(env, update.displayInfos)); env->CallVoidMethod(listener, gListenerClassInfo.onWindowInfosChanged, jWindowHandlesArray.get(), jDisplayInfoArray.get()); diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp index 88e351963148..e21d6fb2fe14 100644 --- a/libs/input/PointerController.cpp +++ b/libs/input/PointerController.cpp @@ -45,14 +45,13 @@ const ui::Transform kIdentityTransform; // --- PointerController::DisplayInfoListener --- void PointerController::DisplayInfoListener::onWindowInfosChanged( - const std::vector<android::gui::WindowInfo>&, - const std::vector<android::gui::DisplayInfo>& displayInfos) { + const gui::WindowInfosUpdate& update) { std::scoped_lock lock(mLock); if (mPointerController == nullptr) return; // PointerController uses DisplayInfoListener's lock. base::ScopedLockAssertion assumeLocked(mPointerController->getLock()); - mPointerController->onDisplayInfosChangedLocked(displayInfos); + mPointerController->onDisplayInfosChangedLocked(update.displayInfos); } void PointerController::DisplayInfoListener::onPointerControllerDestroyed() { diff --git a/libs/input/PointerController.h b/libs/input/PointerController.h index ca14b6e9bfdc..62ee74331302 100644 --- a/libs/input/PointerController.h +++ b/libs/input/PointerController.h @@ -19,6 +19,7 @@ #include <PointerControllerInterface.h> #include <gui/DisplayEventReceiver.h> +#include <gui/WindowInfosUpdate.h> #include <input/DisplayViewport.h> #include <input/Input.h> #include <utils/BitSet.h> @@ -114,8 +115,7 @@ private: class DisplayInfoListener : public gui::WindowInfosListener { public: explicit DisplayInfoListener(PointerController* pc) : mPointerController(pc){}; - void onWindowInfosChanged(const std::vector<android::gui::WindowInfo>&, - const std::vector<android::gui::DisplayInfo>&) override; + void onWindowInfosChanged(const gui::WindowInfosUpdate&) override; void onPointerControllerDestroyed(); // This lock is also used by PointerController. See PointerController::getLock(). diff --git a/libs/input/tests/PointerController_test.cpp b/libs/input/tests/PointerController_test.cpp index 2378d42793a1..85747514aa03 100644 --- a/libs/input/tests/PointerController_test.cpp +++ b/libs/input/tests/PointerController_test.cpp @@ -343,7 +343,7 @@ TEST_F(PointerControllerWindowInfoListenerTest, localListenerCopy = registeredListener; } EXPECT_EQ(nullptr, registeredListener) << "WindowInfosListener was not unregistered"; - localListenerCopy->onWindowInfosChanged({}, {}); + localListenerCopy->onWindowInfosChanged({{}, {}, 0, 0}); } } // namespace android |