SF: Make power and idle timers per-display
Currently in the Scheduler, the idle and display power timers are a
single timer tied to the pacesetter. These timers, when triggered,
change their respective global state in mPolicy. mPolicy is then used
to generate a GlobalSignal object, which is used to choose display
mode.
This CL makes the power and idle timer per-display, and makes the
associated mPolicy members per-display as well. makeGlobalSignal() will
now require a display ID, and use per-display mPolicy fields if
applicable. This reduces the scope of idle/power states to each display,
rather than pacesetter's states affecting the entire system.
Flag: com.android.graphics.surfaceflinger.flags.follower_arbitrary_refresh_rate_selection
Bug: 371584290
Test: Existing unit tests && new SchedulerTest cases
Test: Manual testing on comet w/ connected display w/ callback logging
Change-Id: If3126438a1ac87d75e921874d1b54321001d41df
14 files changed