SF: Move mode caching from Scheduler to RefreshRateConfigs
In the existing behavior Scheduler checks if the
layerReuquirements have changes since the last time
and only then calls into RefreshRateConfigs to
getBestRefreshRate. There are two problems with that
1. on the first iteration of the algorithm
mFeatures.contentRequirements is empty. If we happen
to have an empty list of current content requirements
(for example if all layers have NoVote), we
won't execute the refresh rate selection algorithm
and we'll end up with a wrong initial refresh rate.
2. the cached value needs to be invalided when one of
these change
- globalSignals
- supported display modes (happens on TV)
- display manager policy
Bug: 188872896
Test: atest SchedulerTest RefreshRateConfigsTest
Change-Id: I101f401522fae8358752e283d8375caa93957b6a
5 files changed