[SF] Use HWC api getPhysicalDisplayOrientation
With HWC3.0 we have the getPhysicalDisplayOrientation
api that can replace the sysprop ro.surface_flinger.primary_display_orientation
BUG: 184085132
Test: atest libsurfaceflinger_unittest
Change-Id: Ie2b0f8e1a81219dc8231a56b9e6174d549a4cbd1
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 02b3772..d4574df 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -986,9 +986,19 @@
return NO_ERROR;
}
-bool HWComposer::hasDisplayIdleTimerCapability(PhysicalDisplayId displayId) {
+bool HWComposer::hasDisplayIdleTimerCapability(PhysicalDisplayId displayId) const {
RETURN_IF_INVALID_DISPLAY(displayId, false);
- return mDisplayData[displayId].hwcDisplay->hasDisplayIdleTimerCapability();
+ return mDisplayData.at(displayId).hwcDisplay->hasDisplayIdleTimerCapability();
+}
+
+Hwc2::AidlTransform HWComposer::getPhysicalDisplayOrientation(PhysicalDisplayId displayId) const {
+ ATRACE_CALL();
+ RETURN_IF_INVALID_DISPLAY(displayId, Hwc2::AidlTransform::NONE);
+ Hwc2::AidlTransform outTransform;
+ const auto& hwcDisplay = mDisplayData.at(displayId).hwcDisplay;
+ const auto error = hwcDisplay->getPhysicalDisplayOrientation(&outTransform);
+ RETURN_IF_HWC_ERROR(error, displayId, Hwc2::AidlTransform::NONE);
+ return outTransform;
}
void HWComposer::loadLayerMetadataSupport() {