Implementing hover state for QS tiles according to the spec
TL;DR: introducing new tile background overlay that's colored when
hover/focus state changes.
Every tile has RippleDrawable that's wrapping "background" drawable
that's colored according to the theme. Current hover state comes from
its default implementation in RippleDrawable which is not compatible
with hover state we want.
Because hover state behaviour in ripple is non-modifiable this change is
making ripple overlay invisible when hover state is active. Instead
"background" drawable is now changed into layer drawable with basic
layer being previous "background" drawable and new overlay layer that's
responsible for adding extra colors for hover and focus state. Because
hover alpha and colors are dependent on tile state, they are all set
in the code and not XML.
Now hover state will be more emphasized and because it's not part of
RippleDrawable it will also work when ripple is disabled i.e. edit mode.
For now focus state visually follows hover state - that's probably
temporary but still much better than current barely visible focus state.
Fixes: 283753463
Fixes: 283753906
Test: manual, test plan incoming
Change-Id: Ia16467d4586442434d9d3d6fb5d326388abe7195
3 files changed