SurfaceFlinger: do not choose POWER_SAVING as refresh rate

Skip POWER_SAVING when looking for a content based refresh rate
as it is not a real config.

Test: Play 29fps video
Bug: 140374873
Change-Id: Ia1be8b849e4ad3c59fdff084f2394e52bdb3828c
Merged-In: Ia1be8b849e4ad3c59fdff084f2394e52bdb3828c
diff --git a/services/surfaceflinger/Scheduler/Scheduler.cpp b/services/surfaceflinger/Scheduler/Scheduler.cpp
index a194106..baa677e 100644
--- a/services/surfaceflinger/Scheduler/Scheduler.cpp
+++ b/services/surfaceflinger/Scheduler/Scheduler.cpp
@@ -567,8 +567,13 @@
     }
 
     // Content detection is on, find the appropriate refresh rate with minimal error
-    auto iter = min_element(mRefreshRateConfigs.getRefreshRates().cbegin(),
-                            mRefreshRateConfigs.getRefreshRates().cend(),
+    auto begin = mRefreshRateConfigs.getRefreshRates().cbegin();
+
+    // Skip POWER_SAVING config as it is not a real config
+    if (begin->first == RefreshRateType::POWER_SAVING) {
+        ++begin;
+    }
+    auto iter = min_element(begin, mRefreshRateConfigs.getRefreshRates().cend(),
                             [rate = mContentRefreshRate](const auto& l, const auto& r) -> bool {
                                 return std::abs(l.second->fps - static_cast<float>(rate)) <
                                         std::abs(r.second->fps - static_cast<float>(rate));