Switch from HIDL DisplayCapability to AIDL
In preparation for adding a new DisplayCapability which is only in AIDL.
This change is almost completely mechanical, and should have no impact
on behavior.
Similar to I1f923fcc8d8e6dff388493a76e31d435638b5255 for Composition.
Bug: 193170859
Test: existing tests
Change-Id: I448d5d0ec71f99fb3cbfbe505ded40ab37f6083b
diff --git a/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp
index 96f4496..7946002 100644
--- a/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp
+++ b/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp
@@ -35,6 +35,8 @@
#include <algorithm>
#include <cinttypes>
+using aidl::android::hardware::graphics::composer3::DisplayCapability;
+
namespace android {
using hardware::hidl_handle;
@@ -1020,6 +1022,15 @@
// Composer HAL 2.4
+namespace {
+template <typename T>
+void copyCapabilities(const T& tmpCaps, std::vector<DisplayCapability>* outCapabilities) {
+ outCapabilities->resize(tmpCaps.size());
+ std::transform(tmpCaps.begin(), tmpCaps.end(), outCapabilities->begin(),
+ [](auto cap) { return static_cast<DisplayCapability>(cap); });
+}
+} // anonymous namespace
+
Error HidlComposer::getDisplayCapabilities(Display display,
std::vector<DisplayCapability>* outCapabilities) {
if (!mClient_2_3) {
@@ -1034,7 +1045,7 @@
if (error != V2_4::Error::NONE) {
return;
}
- *outCapabilities = tmpCaps;
+ copyCapabilities(tmpCaps, outCapabilities);
});
} else {
mClient_2_3
@@ -1044,9 +1055,7 @@
return;
}
- outCapabilities->resize(tmpCaps.size());
- std::transform(tmpCaps.begin(), tmpCaps.end(), outCapabilities->begin(),
- [](auto cap) { return static_cast<DisplayCapability>(cap); });
+ copyCapabilities(tmpCaps, outCapabilities);
});
}