[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/ComposerHal.h b/services/surfaceflinger/DisplayHardware/ComposerHal.h
index 6abe7d1..7d9946d 100644
--- a/services/surfaceflinger/DisplayHardware/ComposerHal.h
+++ b/services/surfaceflinger/DisplayHardware/ComposerHal.h
@@ -38,6 +38,7 @@
#include <aidl/android/hardware/graphics/composer3/DisplayCapability.h>
#include <aidl/android/hardware/graphics/composer3/IComposerCallback.h>
+#include <aidl/android/hardware/graphics/common/Transform.h>
#include <optional>
// TODO(b/129481165): remove the #pragma below and fix conversion issues
@@ -80,6 +81,7 @@
using PerFrameMetadata = IComposerClient::PerFrameMetadata;
using PerFrameMetadataKey = IComposerClient::PerFrameMetadataKey;
using PerFrameMetadataBlob = IComposerClient::PerFrameMetadataBlob;
+using AidlTransform = ::aidl::android::hardware::graphics::common::Transform;
class Composer {
public:
@@ -94,6 +96,7 @@
DisplayBrightnessCommand,
BootDisplayConfig,
KernelIdleTimer,
+ PhysicalDisplayOrientation,
};
virtual bool isSupported(OptionalFeature) const = 0;
@@ -277,6 +280,8 @@
std::optional<::aidl::android::hardware::graphics::common::DisplayDecorationSupport>*
support) = 0;
virtual Error setIdleTimerEnabled(Display displayId, std::chrono::milliseconds timeout) = 0;
+ virtual Error getPhysicalDisplayOrientation(Display displayId,
+ AidlTransform* outDisplayOrientation) = 0;
};
} // namespace Hwc2