Update native getDisplayDecorationSupport API
I27f119f927b23052c5fd8f068cbca75338fe7b91 adds new HAL APIs which
provide more detailed info regarding DISPLAY_DECORATION support. Call
the new API and plumb it up to SurfaceComposerClient.
Remove reference to old DisplayCapability.DISPLAY_DECORATION.
Bug: 216644902
Test: manual
Change-Id: I961051c0a660b596039ac04b546040764ee20d34
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 0ed4ec9..6a3162e 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -785,6 +785,22 @@
return displayModeId;
}
+status_t HWComposer::getDisplayDecorationSupport(
+ PhysicalDisplayId displayId,
+ std::optional<aidl::android::hardware::graphics::common::DisplayDecorationSupport>*
+ support) {
+ RETURN_IF_INVALID_DISPLAY(displayId, BAD_INDEX);
+ const auto error = mDisplayData[displayId].hwcDisplay->getDisplayDecorationSupport(support);
+ if (error == hal::Error::UNSUPPORTED) {
+ RETURN_IF_HWC_ERROR(error, displayId, INVALID_OPERATION);
+ }
+ if (error == hal::Error::BAD_PARAMETER) {
+ RETURN_IF_HWC_ERROR(error, displayId, BAD_VALUE);
+ }
+ RETURN_IF_HWC_ERROR(error, displayId, UNKNOWN_ERROR);
+ return NO_ERROR;
+}
+
status_t HWComposer::setAutoLowLatencyMode(PhysicalDisplayId displayId, bool on) {
RETURN_IF_INVALID_DISPLAY(displayId, BAD_INDEX);
const auto error = mDisplayData[displayId].hwcDisplay->setAutoLowLatencyMode(on);