Loading libs/gui/SurfaceComposerClient.cpp +4 −5 Original line number Diff line number Diff line Loading @@ -3442,12 +3442,11 @@ int SurfaceComposerClient::getGpuContextPriority() { return priority; } status_t SurfaceComposerClient::addWindowInfosListener( const sp<WindowInfosListener>& windowInfosListener, gui::WindowInfosUpdate* outInitialUpdate) { android::base::Result<gui::WindowInfosUpdate> SurfaceComposerClient::addWindowInfosListener( sp<WindowInfosListener> windowInfosListener) { return WindowInfosListenerReporter::getInstance() ->addWindowInfosListener(windowInfosListener, ComposerServiceAIDL::getComposerService(), outInitialUpdate); ->addWindowInfosListener(std::move(windowInfosListener), ComposerServiceAIDL::getComposerService()); } status_t SurfaceComposerClient::removeWindowInfosListener( Loading libs/gui/WindowInfosListenerReporter.cpp +6 −9 Original line number Diff line number Diff line Loading @@ -32,10 +32,9 @@ sp<WindowInfosListenerReporter> WindowInfosListenerReporter::getInstance() { return sInstance; } status_t WindowInfosListenerReporter::addWindowInfosListener( const sp<WindowInfosListener>& windowInfosListener, const sp<gui::ISurfaceComposer>& surfaceComposer, gui::WindowInfosUpdate* outInitialUpdate) { android::base::Result<gui::WindowInfosUpdate> WindowInfosListenerReporter::addWindowInfosListener( sp<WindowInfosListener> windowInfosListener, const sp<gui::ISurfaceComposer>& surfaceComposer) { status_t status = OK; { std::scoped_lock lock(mListenersMutex); Loading @@ -50,15 +49,13 @@ status_t WindowInfosListenerReporter::addWindowInfosListener( } if (status == OK) { mWindowInfosListeners.insert(windowInfosListener); mWindowInfosListeners.emplace(std::move(windowInfosListener)); } if (outInitialUpdate != nullptr) { *outInitialUpdate = mLastUpdate; } return mLastUpdate; } return status; return android::base::Error(status); } status_t WindowInfosListenerReporter::removeWindowInfosListener( Loading libs/gui/include/gui/SurfaceComposerClient.h +3 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <unordered_map> #include <unordered_set> #include <android-base/result.h> #include <binder/IBinder.h> #include <utils/Errors.h> Loading Loading @@ -911,8 +912,8 @@ public: static status_t removeTunnelModeEnabledListener( const sp<gui::ITunnelModeEnabledListener>& listener); status_t addWindowInfosListener(const sp<gui::WindowInfosListener>& windowInfosListener, gui::WindowInfosUpdate* outInitialUpdate); android::base::Result<gui::WindowInfosUpdate> addWindowInfosListener( sp<gui::WindowInfosListener> windowInfosListener); status_t removeWindowInfosListener(const sp<gui::WindowInfosListener>& windowInfosListener); static void notifyShutdown(); Loading libs/gui/include/gui/WindowInfosListenerReporter.h +3 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #pragma once #include <android-base/result.h> #include <android/gui/BnWindowInfosListener.h> #include <android/gui/ISurfaceComposer.h> #include <android/gui/IWindowInfosPublisher.h> Loading @@ -31,9 +32,8 @@ class WindowInfosListenerReporter : public gui::BnWindowInfosListener { public: static sp<WindowInfosListenerReporter> getInstance(); binder::Status onWindowInfosChanged(const gui::WindowInfosUpdate& update) override; status_t addWindowInfosListener(const sp<gui::WindowInfosListener>& windowInfosListener, const sp<gui::ISurfaceComposer>&, gui::WindowInfosUpdate* outInitialUpdate); android::base::Result<gui::WindowInfosUpdate> addWindowInfosListener( sp<gui::WindowInfosListener> windowInfosListener, const sp<gui::ISurfaceComposer>&); status_t removeWindowInfosListener(const sp<gui::WindowInfosListener>& windowInfosListener, const sp<gui::ISurfaceComposer>& surfaceComposer); void reconnect(const sp<gui::ISurfaceComposer>&); Loading services/inputflinger/PointerChoreographer.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -107,12 +107,15 @@ PointerChoreographer::PointerChoreographer(InputListenerInterface& inputListener : PointerChoreographer( inputListener, policy, [](const sp<android::gui::WindowInfosListener>& listener) { gui::WindowInfosUpdate initialInfo; #if defined(__ANDROID__) SurfaceComposerClient::getDefault()->addWindowInfosListener(listener, &initialInfo); android::base::Result<android::gui::WindowInfosUpdate> result = SurfaceComposerClient::getDefault()->addWindowInfosListener(listener); LOG_IF(FATAL, !result.ok()) << "Can't add window listener, pointers won't work"; return result->windowInfos; #else gui::WindowInfosUpdate emptyUpdate; return emptyUpdate.windowInfos; #endif return initialInfo.windowInfos; }, [](const sp<android::gui::WindowInfosListener>& listener) { #if defined(__ANDROID__) Loading Loading
libs/gui/SurfaceComposerClient.cpp +4 −5 Original line number Diff line number Diff line Loading @@ -3442,12 +3442,11 @@ int SurfaceComposerClient::getGpuContextPriority() { return priority; } status_t SurfaceComposerClient::addWindowInfosListener( const sp<WindowInfosListener>& windowInfosListener, gui::WindowInfosUpdate* outInitialUpdate) { android::base::Result<gui::WindowInfosUpdate> SurfaceComposerClient::addWindowInfosListener( sp<WindowInfosListener> windowInfosListener) { return WindowInfosListenerReporter::getInstance() ->addWindowInfosListener(windowInfosListener, ComposerServiceAIDL::getComposerService(), outInitialUpdate); ->addWindowInfosListener(std::move(windowInfosListener), ComposerServiceAIDL::getComposerService()); } status_t SurfaceComposerClient::removeWindowInfosListener( Loading
libs/gui/WindowInfosListenerReporter.cpp +6 −9 Original line number Diff line number Diff line Loading @@ -32,10 +32,9 @@ sp<WindowInfosListenerReporter> WindowInfosListenerReporter::getInstance() { return sInstance; } status_t WindowInfosListenerReporter::addWindowInfosListener( const sp<WindowInfosListener>& windowInfosListener, const sp<gui::ISurfaceComposer>& surfaceComposer, gui::WindowInfosUpdate* outInitialUpdate) { android::base::Result<gui::WindowInfosUpdate> WindowInfosListenerReporter::addWindowInfosListener( sp<WindowInfosListener> windowInfosListener, const sp<gui::ISurfaceComposer>& surfaceComposer) { status_t status = OK; { std::scoped_lock lock(mListenersMutex); Loading @@ -50,15 +49,13 @@ status_t WindowInfosListenerReporter::addWindowInfosListener( } if (status == OK) { mWindowInfosListeners.insert(windowInfosListener); mWindowInfosListeners.emplace(std::move(windowInfosListener)); } if (outInitialUpdate != nullptr) { *outInitialUpdate = mLastUpdate; } return mLastUpdate; } return status; return android::base::Error(status); } status_t WindowInfosListenerReporter::removeWindowInfosListener( Loading
libs/gui/include/gui/SurfaceComposerClient.h +3 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <unordered_map> #include <unordered_set> #include <android-base/result.h> #include <binder/IBinder.h> #include <utils/Errors.h> Loading Loading @@ -911,8 +912,8 @@ public: static status_t removeTunnelModeEnabledListener( const sp<gui::ITunnelModeEnabledListener>& listener); status_t addWindowInfosListener(const sp<gui::WindowInfosListener>& windowInfosListener, gui::WindowInfosUpdate* outInitialUpdate); android::base::Result<gui::WindowInfosUpdate> addWindowInfosListener( sp<gui::WindowInfosListener> windowInfosListener); status_t removeWindowInfosListener(const sp<gui::WindowInfosListener>& windowInfosListener); static void notifyShutdown(); Loading
libs/gui/include/gui/WindowInfosListenerReporter.h +3 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #pragma once #include <android-base/result.h> #include <android/gui/BnWindowInfosListener.h> #include <android/gui/ISurfaceComposer.h> #include <android/gui/IWindowInfosPublisher.h> Loading @@ -31,9 +32,8 @@ class WindowInfosListenerReporter : public gui::BnWindowInfosListener { public: static sp<WindowInfosListenerReporter> getInstance(); binder::Status onWindowInfosChanged(const gui::WindowInfosUpdate& update) override; status_t addWindowInfosListener(const sp<gui::WindowInfosListener>& windowInfosListener, const sp<gui::ISurfaceComposer>&, gui::WindowInfosUpdate* outInitialUpdate); android::base::Result<gui::WindowInfosUpdate> addWindowInfosListener( sp<gui::WindowInfosListener> windowInfosListener, const sp<gui::ISurfaceComposer>&); status_t removeWindowInfosListener(const sp<gui::WindowInfosListener>& windowInfosListener, const sp<gui::ISurfaceComposer>& surfaceComposer); void reconnect(const sp<gui::ISurfaceComposer>&); Loading
services/inputflinger/PointerChoreographer.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -107,12 +107,15 @@ PointerChoreographer::PointerChoreographer(InputListenerInterface& inputListener : PointerChoreographer( inputListener, policy, [](const sp<android::gui::WindowInfosListener>& listener) { gui::WindowInfosUpdate initialInfo; #if defined(__ANDROID__) SurfaceComposerClient::getDefault()->addWindowInfosListener(listener, &initialInfo); android::base::Result<android::gui::WindowInfosUpdate> result = SurfaceComposerClient::getDefault()->addWindowInfosListener(listener); LOG_IF(FATAL, !result.ok()) << "Can't add window listener, pointers won't work"; return result->windowInfos; #else gui::WindowInfosUpdate emptyUpdate; return emptyUpdate.windowInfos; #endif return initialInfo.windowInfos; }, [](const sp<android::gui::WindowInfosListener>& listener) { #if defined(__ANDROID__) Loading