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

Commit 02eff543 authored by Anton Ivanov's avatar Anton Ivanov Committed by Android Build Coastguard Worker
Browse files

Revert "Ensure Choreographer is held as sp<> in SurfaceControl."

This reverts commit 90456660.

Reason for revert: Supsected cause for b/405669080
Test: presubmit
Flag: EXEMPT refactor
Bug: 405669080
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ade9b0ca6046beae913335000cdd398ac4381bb9)
Merged-In: I96c45abfe8446c924e9ea31f822e040134e87db9
Change-Id: I96c45abfe8446c924e9ea31f822e040134e87db9
parent c127ba1b
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -194,7 +194,7 @@ const std::string& SurfaceControl::getName() const {
    return mName;
    return mName;
}
}


sp<Choreographer> SurfaceControl::getChoreographer() {
std::shared_ptr<Choreographer> SurfaceControl::getChoreographer() {
    if (mChoreographer) {
    if (mChoreographer) {
        return mChoreographer;
        return mChoreographer;
    }
    }
@@ -203,7 +203,7 @@ sp<Choreographer> SurfaceControl::getChoreographer() {
        ALOGE("%s: No looper prepared for thread", __func__);
        ALOGE("%s: No looper prepared for thread", __func__);
        return nullptr;
        return nullptr;
    }
    }
    mChoreographer = sp<Choreographer>::make(looper, getHandle());
    mChoreographer = std::make_shared<Choreographer>(looper, getHandle());
    status_t result = mChoreographer->initialize();
    status_t result = mChoreographer->initialize();
    if (result != OK) {
    if (result != OK) {
        ALOGE("Failed to initialize choreographer");
        ALOGE("Failed to initialize choreographer");
+3 −4
Original line number Original line Diff line number Diff line
@@ -79,6 +79,9 @@ public:
    };
    };
    static Context gChoreographers;
    static Context gChoreographers;


    explicit Choreographer(const sp<Looper>& looper, const sp<IBinder>& layerHandle = nullptr)
            EXCLUDES(gChoreographers.lock);

    void postFrameCallbackDelayed(AChoreographer_frameCallback cb,
    void postFrameCallbackDelayed(AChoreographer_frameCallback cb,
                                  AChoreographer_frameCallback64 cb64,
                                  AChoreographer_frameCallback64 cb64,
                                  AChoreographer_vsyncCallback vsyncCallback, void* data,
                                  AChoreographer_vsyncCallback vsyncCallback, void* data,
@@ -111,10 +114,6 @@ public:


private:
private:
    Choreographer(const Choreographer&) = delete;
    Choreographer(const Choreographer&) = delete;
    explicit Choreographer(const sp<Looper>& looper, const sp<IBinder>& layerHandle = nullptr)
            EXCLUDES(gChoreographers.lock);
    friend class sp<Choreographer>;
    friend AChoreographer* AChoreographer_create();


    void dispatchVsync(nsecs_t timestamp, PhysicalDisplayId displayId, uint32_t count,
    void dispatchVsync(nsecs_t timestamp, PhysicalDisplayId displayId, uint32_t count,
                       VsyncEventData vsyncEventData) override;
                       VsyncEventData vsyncEventData) override;
+3 −3
Original line number Original line Diff line number Diff line
@@ -26,7 +26,6 @@


#include <android/gui/ISurfaceComposerClient.h>
#include <android/gui/ISurfaceComposerClient.h>


#include <gui/Choreographer.h>
#include <ui/FrameStats.h>
#include <ui/FrameStats.h>
#include <ui/PixelFormat.h>
#include <ui/PixelFormat.h>
#include <ui/Region.h>
#include <ui/Region.h>
@@ -37,6 +36,7 @@ namespace android {


// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------


class Choreographer;
class IGraphicBufferProducer;
class IGraphicBufferProducer;
class Surface;
class Surface;
class SurfaceComposerClient;
class SurfaceComposerClient;
@@ -82,7 +82,7 @@ public:
    const std::string& getName() const;
    const std::string& getName() const;


    // TODO(b/267195698): Consider renaming.
    // TODO(b/267195698): Consider renaming.
    sp<Choreographer> getChoreographer();
    std::shared_ptr<Choreographer> getChoreographer();


    sp<IGraphicBufferProducer> getIGraphicBufferProducer();
    sp<IGraphicBufferProducer> getIGraphicBufferProducer();


@@ -134,7 +134,7 @@ private:
    PixelFormat mFormat = PIXEL_FORMAT_NONE;
    PixelFormat mFormat = PIXEL_FORMAT_NONE;
    uint32_t mCreateFlags = 0;
    uint32_t mCreateFlags = 0;
    uint64_t mFallbackFrameNumber = 100;
    uint64_t mFallbackFrameNumber = 100;
    sp<Choreographer> mChoreographer;
    std::shared_ptr<Choreographer> mChoreographer;
};
};


}; // namespace android
}; // namespace android