surfaceflinger: put RefreshRateOverlay in the center for circular displays
- Use debug.sf.show_refresh_rate_overlay_in_middle sysprop to turn on.
Test: Visual
Before: screenshot/3nJHsbGsXAjLWNr
After: screenshot/3RtYGnCAe5M2Pf9
Bug: 265356373
Change-Id: Ib598e6f5c7a1c4b13fa4d6e4dbc2e29b2e25bfc8
diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp
index 96ae77f..bd5d21a 100644
--- a/services/surfaceflinger/DisplayDevice.cpp
+++ b/services/surfaceflinger/DisplayDevice.cpp
@@ -410,7 +410,8 @@
capabilities.getDesiredMinLuminance());
}
-void DisplayDevice::enableRefreshRateOverlay(bool enable, bool showSpinner, bool showRenderRate) {
+void DisplayDevice::enableRefreshRateOverlay(bool enable, bool showSpinner, bool showRenderRate,
+ bool showInMiddle) {
if (!enable) {
mRefreshRateOverlay.reset();
return;
@@ -425,6 +426,10 @@
features |= RefreshRateOverlay::Features::RenderRate;
}
+ if (showInMiddle) {
+ features |= RefreshRateOverlay::Features::ShowInMiddle;
+ }
+
const auto fpsRange = mRefreshRateSelector->getSupportedRefreshRateRange();
mRefreshRateOverlay = std::make_unique<RefreshRateOverlay>(fpsRange, features);
mRefreshRateOverlay->setLayerStack(getLayerStack());