summaryrefslogtreecommitdiff
path: root/libs/gui/ScreenCaptureResults.cpp
diff options
context:
space:
mode:
author chaviw <chaviw@google.com> 2021-01-05 11:04:50 -0800
committer chaviw <chaviw@google.com> 2021-01-07 17:38:55 -0800
commit0ef7caa3ee99f1043e1d922d59e6d56341e501af (patch)
treec6b519f83ec2e021f93cb16621bddee3a904b703 /libs/gui/ScreenCaptureResults.cpp
parent4d25380ce2b3fb5ffbe422e23c19ad387ec87ce9 (diff)
Convert IScreenCaptureListener to AIDL
Test: Screen capture works Fixes: 166271443 Change-Id: Iecb991a0c8e0885adb87141ed85caa6dcc7c543f
Diffstat (limited to 'libs/gui/ScreenCaptureResults.cpp')
-rw-r--r--libs/gui/ScreenCaptureResults.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/libs/gui/ScreenCaptureResults.cpp b/libs/gui/ScreenCaptureResults.cpp
new file mode 100644
index 0000000000..2b29487268
--- /dev/null
+++ b/libs/gui/ScreenCaptureResults.cpp
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <gui/ScreenCaptureResults.h>
+
+namespace android::gui {
+
+status_t ScreenCaptureResults::writeToParcel(android::Parcel* parcel) const {
+ if (buffer != nullptr) {
+ SAFE_PARCEL(parcel->writeBool, true);
+ SAFE_PARCEL(parcel->write, *buffer);
+ } else {
+ SAFE_PARCEL(parcel->writeBool, false);
+ }
+ SAFE_PARCEL(parcel->writeBool, capturedSecureLayers);
+ SAFE_PARCEL(parcel->writeUint32, static_cast<uint32_t>(capturedDataspace));
+ SAFE_PARCEL(parcel->writeInt32, result);
+ return NO_ERROR;
+}
+
+status_t ScreenCaptureResults::readFromParcel(const android::Parcel* parcel) {
+ bool hasGraphicBuffer;
+ SAFE_PARCEL(parcel->readBool, &hasGraphicBuffer);
+ if (hasGraphicBuffer) {
+ buffer = new GraphicBuffer();
+ SAFE_PARCEL(parcel->read, *buffer);
+ }
+
+ SAFE_PARCEL(parcel->readBool, &capturedSecureLayers);
+ uint32_t dataspace = 0;
+ SAFE_PARCEL(parcel->readUint32, &dataspace);
+ capturedDataspace = static_cast<ui::Dataspace>(dataspace);
+ SAFE_PARCEL(parcel->readInt32, &result);
+ return NO_ERROR;
+}
+
+} // namespace android::gui