[QSDetailedView] Fix a cast list view ripple issue
Tapping on one list item would cause the ripple effect to appear on a
different item, particularly for items in the middle of the list.
This is because all middle list items were sharing the same Drawable
instance. Drawables can have a shared state, a touch event on one item
would update the state for all items using that same instance.
This CL fixes these issues by:
Creating a new, unique drawable instance for each list item by calling
constantState.newDrawable().mutate(). This ensures that each item has its
own independent state, so the ripple effect is only shown on the item that
was actually tapped.
Bug: 378513588
Flag: com.android.systemui.qs_tile_detailed_view
Test: Only ui fix. Existing unit tests still pass.
Change-Id: Ie28dd13ab4109bb3fb65e2877f3b0a92efcfc936
1 file changed