Fix Marquees in QSHeader animating when invisible
When QS is collapsed, QuickStatusBarHeader is set to GONE/INVISIBLE. In
that case, all it's children should NOT marquee. As they are still
visible, they need to override onVisibilityAggregated, which gets called
when any view in it's hierarchy changes its visibility.
This is still not perfect, as the switch between QQS and QS is changed
by just modifying the alpha of high level container views and we have no
way of tracking this without dispatching everything down the line. But
it's enough for now to significantly improve performance.
Test: systrace, systemui is not constantly drawing frames when on AoD
Test: inferno.py, in 10s reduces Binder calls from ~600 to ~20 when on
AoD
Test: Layout inspector with QS collapsed, views have ellipsize END
Fixes: 133229320
Fixes: 131427575
Change-Id: I0d742cef3716dce9f32133b2510aeffb7082ae47
4 files changed