Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ed216ce authored by Siarhei Vishniakou's avatar Siarhei Vishniakou
Browse files

Use WindowInfosUpdate in android_window_WindowInfosListener

This is needed because the "addListener" API has changed.

Bug: 404661556
Flag: EXEMPT refactor
Test: none
Change-Id: I085a89901903c0e18773fe5a22547c7f485ec0f7
parent 46ec133f
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -143,11 +143,13 @@ void destroyNativeService(void* ptr) {

jobject nativeRegister(JNIEnv* env, jclass clazz, jlong ptr) {
    sp<WindowInfosListener> listener = reinterpret_cast<WindowInfosListener*>(ptr);
    std::pair<std::vector<gui::WindowInfo>, std::vector<gui::DisplayInfo>> initialInfo;
    gui::WindowInfosUpdate initialInfo;
    SurfaceComposerClient::getDefault()->addWindowInfosListener(listener, &initialInfo);

    ScopedLocalRef<jobjectArray> jWindowHandlesArray(env, fromWindowInfos(env, initialInfo.first));
    ScopedLocalRef<jobjectArray> jDisplayInfoArray(env, fromDisplayInfos(env, initialInfo.second));
    ScopedLocalRef<jobjectArray> jWindowHandlesArray(env,
                                                     fromWindowInfos(env, initialInfo.windowInfos));
    ScopedLocalRef<jobjectArray> jDisplayInfoArray(env,
                                                   fromDisplayInfos(env, initialInfo.displayInfos));

    return env->NewObject(gPairClassInfo.clazz, gPairClassInfo.ctor, jWindowHandlesArray.get(),
                          jDisplayInfoArray.get());
+2 −3
Original line number Diff line number Diff line
@@ -105,11 +105,10 @@ PointerController::PointerController(const sp<PointerControllerPolicyInterface>&
      : PointerController(
                policy, looper, spriteController,
                [](const sp<android::gui::WindowInfosListener>& listener) {
                    auto initialInfo = std::make_pair(std::vector<android::gui::WindowInfo>{},
                                                      std::vector<android::gui::DisplayInfo>{});
                    gui::WindowInfosUpdate initialInfo;
                    SurfaceComposerClient::getDefault()->addWindowInfosListener(listener,
                                                                                &initialInfo);
                    return initialInfo.second;
                    return initialInfo.displayInfos;
                },
                [](const sp<android::gui::WindowInfosListener>& listener) {
                    SurfaceComposerClient::getDefault()->removeWindowInfosListener(listener);