SF Crash Bug fix
There is a state when Scheduler returns a config which is not allowed
by the policy. This can happen when policy has changed, and scheduler
decided that the next config should be the current config. We fix it
by returning the current config, if allowed, otherwise the default.
Change-Id: Id49674dc5cf6cc36eb6a48dfec7d007063c1f382
Bug: 149077559
Test: Turn off all policies. Toggle smoooth display. Doesn't fail.
Test: Turn off all polcies. Open Waze. Doesn't fail.
Test: Turn off all policies. Open TouchLatency app. Switch between 60/90.
Test: Turn off all policies. Play youtube video.
Test: Turn off all policies. Open Chrome. Play video.
diff --git a/services/surfaceflinger/Scheduler/Scheduler.cpp b/services/surfaceflinger/Scheduler/Scheduler.cpp
index 49a269f..adecb8d 100644
--- a/services/surfaceflinger/Scheduler/Scheduler.cpp
+++ b/services/surfaceflinger/Scheduler/Scheduler.cpp
@@ -624,8 +624,8 @@
.configId;
}
- // There are no signals for refresh rate, just leave it as is
- return mRefreshRateConfigs.getCurrentRefreshRate().configId;
+ // There are no signals for refresh rate, just leave it as is.
+ return mRefreshRateConfigs.getCurrentRefreshRateByPolicy().configId;
}
std::optional<HwcConfigIndexType> Scheduler::getPreferredConfigId() {