Loading libs/gui/ScreenCaptureResults.cpp +11 −6 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <gui/ScreenCaptureResults.h> #include <private/gui/ParcelUtils.h> #include <ui/FenceResult.h> namespace android::gui { Loading @@ -28,17 +29,17 @@ status_t ScreenCaptureResults::writeToParcel(android::Parcel* parcel) const { SAFE_PARCEL(parcel->writeBool, false); } if (fence != Fence::NO_FENCE) { if (fenceResult.ok() && fenceResult.value() != Fence::NO_FENCE) { SAFE_PARCEL(parcel->writeBool, true); SAFE_PARCEL(parcel->write, *fence); SAFE_PARCEL(parcel->write, *fenceResult.value()); } else { SAFE_PARCEL(parcel->writeBool, false); SAFE_PARCEL(parcel->writeInt32, fenceStatus(fenceResult)); } SAFE_PARCEL(parcel->writeBool, capturedSecureLayers); SAFE_PARCEL(parcel->writeBool, capturedHdrLayers); SAFE_PARCEL(parcel->writeUint32, static_cast<uint32_t>(capturedDataspace)); SAFE_PARCEL(parcel->writeInt32, result); return NO_ERROR; } Loading @@ -53,8 +54,13 @@ status_t ScreenCaptureResults::readFromParcel(const android::Parcel* parcel) { bool hasFence; SAFE_PARCEL(parcel->readBool, &hasFence); if (hasFence) { fence = new Fence(); SAFE_PARCEL(parcel->read, *fence); fenceResult = sp<Fence>::make(); SAFE_PARCEL(parcel->read, *fenceResult.value()); } else { status_t status; SAFE_PARCEL(parcel->readInt32, &status); fenceResult = status == NO_ERROR ? FenceResult(Fence::NO_FENCE) : FenceResult(base::unexpected(status)); } SAFE_PARCEL(parcel->readBool, &capturedSecureLayers); Loading @@ -62,7 +68,6 @@ status_t ScreenCaptureResults::readFromParcel(const android::Parcel* parcel) { uint32_t dataspace = 0; SAFE_PARCEL(parcel->readUint32, &dataspace); capturedDataspace = static_cast<ui::Dataspace>(dataspace); SAFE_PARCEL(parcel->readInt32, &result); return NO_ERROR; } Loading libs/gui/include/gui/ScreenCaptureResults.h +2 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <binder/Parcel.h> #include <binder/Parcelable.h> #include <ui/Fence.h> #include <ui/FenceResult.h> #include <ui/GraphicBuffer.h> namespace android::gui { Loading @@ -31,11 +32,10 @@ public: status_t readFromParcel(const android::Parcel* parcel) override; sp<GraphicBuffer> buffer; sp<Fence> fence = Fence::NO_FENCE; FenceResult fenceResult = Fence::NO_FENCE; bool capturedSecureLayers{false}; bool capturedHdrLayers{false}; ui::Dataspace capturedDataspace{ui::Dataspace::V0_SRGB}; status_t result = OK; }; } // namespace android::gui libs/gui/include/gui/SyncScreenCaptureListener.h +4 −2 Original line number Diff line number Diff line Loading @@ -34,7 +34,9 @@ public: ScreenCaptureResults waitForResults() { std::future<ScreenCaptureResults> resultsFuture = resultsPromise.get_future(); const auto screenCaptureResults = resultsFuture.get(); screenCaptureResults.fence->waitForever(""); if (screenCaptureResults.fenceResult.ok()) { screenCaptureResults.fenceResult.value()->waitForever(""); } return screenCaptureResults; } Loading libs/gui/tests/BLASTBufferQueue_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -311,7 +311,7 @@ protected: return err; } captureResults = captureListener->waitForResults(); return captureResults.result; return fenceStatus(captureResults.fenceResult); } void queueBuffer(sp<IGraphicBufferProducer> igbp, uint8_t r, uint8_t g, uint8_t b, Loading libs/gui/tests/Surface_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -218,7 +218,7 @@ protected: return err; } captureResults = captureListener->waitForResults(); return captureResults.result; return fenceStatus(captureResults.fenceResult); } sp<Surface> mSurface; Loading Loading
libs/gui/ScreenCaptureResults.cpp +11 −6 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <gui/ScreenCaptureResults.h> #include <private/gui/ParcelUtils.h> #include <ui/FenceResult.h> namespace android::gui { Loading @@ -28,17 +29,17 @@ status_t ScreenCaptureResults::writeToParcel(android::Parcel* parcel) const { SAFE_PARCEL(parcel->writeBool, false); } if (fence != Fence::NO_FENCE) { if (fenceResult.ok() && fenceResult.value() != Fence::NO_FENCE) { SAFE_PARCEL(parcel->writeBool, true); SAFE_PARCEL(parcel->write, *fence); SAFE_PARCEL(parcel->write, *fenceResult.value()); } else { SAFE_PARCEL(parcel->writeBool, false); SAFE_PARCEL(parcel->writeInt32, fenceStatus(fenceResult)); } SAFE_PARCEL(parcel->writeBool, capturedSecureLayers); SAFE_PARCEL(parcel->writeBool, capturedHdrLayers); SAFE_PARCEL(parcel->writeUint32, static_cast<uint32_t>(capturedDataspace)); SAFE_PARCEL(parcel->writeInt32, result); return NO_ERROR; } Loading @@ -53,8 +54,13 @@ status_t ScreenCaptureResults::readFromParcel(const android::Parcel* parcel) { bool hasFence; SAFE_PARCEL(parcel->readBool, &hasFence); if (hasFence) { fence = new Fence(); SAFE_PARCEL(parcel->read, *fence); fenceResult = sp<Fence>::make(); SAFE_PARCEL(parcel->read, *fenceResult.value()); } else { status_t status; SAFE_PARCEL(parcel->readInt32, &status); fenceResult = status == NO_ERROR ? FenceResult(Fence::NO_FENCE) : FenceResult(base::unexpected(status)); } SAFE_PARCEL(parcel->readBool, &capturedSecureLayers); Loading @@ -62,7 +68,6 @@ status_t ScreenCaptureResults::readFromParcel(const android::Parcel* parcel) { uint32_t dataspace = 0; SAFE_PARCEL(parcel->readUint32, &dataspace); capturedDataspace = static_cast<ui::Dataspace>(dataspace); SAFE_PARCEL(parcel->readInt32, &result); return NO_ERROR; } Loading
libs/gui/include/gui/ScreenCaptureResults.h +2 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <binder/Parcel.h> #include <binder/Parcelable.h> #include <ui/Fence.h> #include <ui/FenceResult.h> #include <ui/GraphicBuffer.h> namespace android::gui { Loading @@ -31,11 +32,10 @@ public: status_t readFromParcel(const android::Parcel* parcel) override; sp<GraphicBuffer> buffer; sp<Fence> fence = Fence::NO_FENCE; FenceResult fenceResult = Fence::NO_FENCE; bool capturedSecureLayers{false}; bool capturedHdrLayers{false}; ui::Dataspace capturedDataspace{ui::Dataspace::V0_SRGB}; status_t result = OK; }; } // namespace android::gui
libs/gui/include/gui/SyncScreenCaptureListener.h +4 −2 Original line number Diff line number Diff line Loading @@ -34,7 +34,9 @@ public: ScreenCaptureResults waitForResults() { std::future<ScreenCaptureResults> resultsFuture = resultsPromise.get_future(); const auto screenCaptureResults = resultsFuture.get(); screenCaptureResults.fence->waitForever(""); if (screenCaptureResults.fenceResult.ok()) { screenCaptureResults.fenceResult.value()->waitForever(""); } return screenCaptureResults; } Loading
libs/gui/tests/BLASTBufferQueue_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -311,7 +311,7 @@ protected: return err; } captureResults = captureListener->waitForResults(); return captureResults.result; return fenceStatus(captureResults.fenceResult); } void queueBuffer(sp<IGraphicBufferProducer> igbp, uint8_t r, uint8_t g, uint8_t b, Loading
libs/gui/tests/Surface_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -218,7 +218,7 @@ protected: return err; } captureResults = captureListener->waitForResults(); return captureResults.result; return fenceStatus(captureResults.fenceResult); } sp<Surface> mSurface; Loading