Reset target, update pointer

[Part 1]
Add bubbles, expand stack, select bubble.
-> mMagnetizedBubbleDraggingOut = selected bubble

Now add more bubbles
-> ExpandedAnimationController#updateBubblePositions returns early at the selected bubble
-> Bubbles to the right of the selected bubble don't animate to their places.

Fixed by setting mMagnetizedBubbleDraggingOut to null in onGestureFinished
-> BubbleTouchHandler calls this for every gesture
-> Subsequent order animations apply to every bubble.

[Part 2]
Pointer updates once right after adding bubble and does not reflect
final updated order. Fixed by moving updatePointerPosition from
BubbleStackView#addBubble to #updatePointerPosition. (We don't need to
update the pointer if adding a bubble does not change the order.)

Fixes: 152696626
Test: manual: add bubbles, expand stack, select bubble, add more bubbles
        -> pointer stays with selected bubble (overflow flag on and off)
Test: atest SystemUITests

Change-Id: If5f34cf660a8d4b9ce50ad749ebdce5b87660407
2 files changed