From dcafa8d51740854c4d67fd12706e38db53a27afc Mon Sep 17 00:00:00 2001 From: chaviw Date: Tue, 18 Aug 2020 16:08:59 -0700 Subject: Update screen capture functions to accept a ScreenCaptureListener Move all screen capture functions to be asynchronous. The screen capture functions will no longer wait for screenshot results and will return immediately. Test: adb shell screencap Test: power + volume down Bug: 162367424 Change-Id: I9cbc833f802bda50d10d4521f61d262e9fd40bfc --- services/surfaceflinger/RegionSamplingThread.cpp | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) (limited to 'services/surfaceflinger/RegionSamplingThread.cpp') diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp index a2fc6925b8..4dc20c44b8 100644 --- a/services/surfaceflinger/RegionSamplingThread.cpp +++ b/services/surfaceflinger/RegionSamplingThread.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -446,22 +447,6 @@ void RegionSamplingThread::captureSample() { PIXEL_FORMAT_RGBA_8888, 1, usage, "RegionSamplingThread"); } - class SyncScreenCaptureListener : public BnScreenCaptureListener { - public: - status_t onScreenCaptureComplete(const ScreenCaptureResults& captureResults) override { - resultsPromise.set_value(captureResults); - return NO_ERROR; - } - - ScreenCaptureResults waitForResults() { - std::future resultsFuture = resultsPromise.get_future(); - return resultsFuture.get(); - } - - private: - std::promise resultsPromise; - }; - const sp captureListener = new SyncScreenCaptureListener(); mFlinger.captureScreenCommon(std::move(renderAreaFuture), traverseLayers, buffer, true /* regionSampling */, captureListener); -- cgit v1.2.3-59-g8ed1b