[wm] Force max refresh during shell transitions
Windowing animations should run at max refresh rate. This was
initially implemented by overriding any app requested refresh
rates via layout params. This does not work if the app requests
a framerate directly on the surface or on a child surface.
With VRR, UI Toolkit will try to set more explicit refresh rates on
the main surface control. This change will explicitly request the
refresh rate on the display level surface control with the policy to
override any child refresh rate requests. This requested rate will
be subjective to other inputs from DisplayModeDirector which
may override the rate.
The request to set the max refresh rate will also be applied as soon as
the TransitionController knows a transition is about to start. This allows
a MRR display to switch refresh rates and minimize some jank due the
switch.
Bug: 300019131
Test: atest TransitionTests
Change-Id: I8a14f4679b825d7c3d54c22682224b623bfe94ee
6 files changed