diff options
author | 2025-01-30 21:47:12 -0800 | |
---|---|---|
committer | 2025-01-30 21:47:12 -0800 | |
commit | 5e6a24974f91f99adaf2f5671f0aefa8f60aa07d (patch) | |
tree | febc841faf3b90b1d42ba2ca9f06cf66a2a2b097 /cmds/screencap/screencap.cpp | |
parent | e696b74f13875bb5c5fa388c5a198df4eb1e98b9 (diff) |
Revert "Improve error message when invalid display id is passed to screencap with -d argument."
This reverts commit e696b74f13875bb5c5fa388c5a198df4eb1e98b9.
Reason for revert: <Droidmonitor created revert due to b/393477524.Will be verified through ABTD for standard investigation.>
Change-Id: Ib5ed9640d568bbc79648118acd305f63ed2919f5
Diffstat (limited to 'cmds/screencap/screencap.cpp')
-rw-r--r-- | cmds/screencap/screencap.cpp | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp index 1626410358a3..d563ad3fd3db 100644 --- a/cmds/screencap/screencap.cpp +++ b/cmds/screencap/screencap.cpp @@ -37,9 +37,6 @@ #include <ui/GraphicTypes.h> #include <ui/PixelFormat.h> -#include "utils/Errors.h" -#include "screencap_utils.h" - using namespace android; #define COLORSPACE_UNKNOWN 0 @@ -148,6 +145,24 @@ static status_t notifyMediaScanner(const char* fileName) { return NO_ERROR; } +status_t capture(const DisplayId displayId, + const gui::CaptureArgs& captureArgs, + ScreenCaptureResults& outResult) { + sp<SyncScreenCaptureListener> captureListener = new SyncScreenCaptureListener(); + ScreenshotClient::captureDisplay(displayId, captureArgs, captureListener); + + ScreenCaptureResults captureResults = captureListener->waitForResults(); + if (!captureResults.fenceResult.ok()) { + fprintf(stderr, "Failed to take screenshot. Status: %d\n", + fenceStatus(captureResults.fenceResult)); + return 1; + } + + outResult = captureResults; + + return 0; +} + status_t saveImage(const char* fn, std::optional<AndroidBitmapCompressFormat> format, const ScreenCaptureResults& captureResults) { void* base = nullptr; @@ -412,12 +427,15 @@ int main(int argc, char** argv) std::vector<ScreenCaptureResults> results; const size_t numDisplays = displaysToCapture.size(); - for (int i = 0; i < numDisplays; i++) { + for (int i=0; i<numDisplays; i++) { + ScreenCaptureResults result; + // 1. Capture the screen - auto captureResult = screencap::capture(displaysToCapture[i], captureArgs); - if (captureResult.error().code() != OK) { - fprintf(stderr, "%sCapturing failed.\n", captureResult.error().message().c_str()); - return 1; + if (const status_t captureStatus = + capture(displaysToCapture[i], captureArgs, result) != 0) { + + fprintf(stderr, "Capturing failed.\n"); + return captureStatus; } // 2. Save the capture result as an image. @@ -435,7 +453,7 @@ int main(int argc, char** argv) if (!filename.empty()) { fn = filename.c_str(); } - if (const status_t saveImageStatus = saveImage(fn, format, captureResult.value()) != 0) { + if (const status_t saveImageStatus = saveImage(fn, format, result) != 0) { fprintf(stderr, "Saving image failed.\n"); return saveImageStatus; } |