Send the bubble removal timestamp to wm shell

The removal and update of bubbles happen in different processes, so
it's possible for race conditions to allow users to remove bubbles
without knowing that an update exists.

Passing the removal timestamp allows wm shell to determine whether
the removal happened before or after the latest update was received
for the bubble. This largely mitigates the race but does not solve
it completely. Will file a separate bug to track that.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 351026092
Test: Manual
       - Note the issue here is a race condition so requires code
         changes to force repro it
       - Locally I added an artificial delay between the time the
       - bubble is removed and until the removal is sent to wmshell
       - Create bubbles and expand the bubble bar
       - Dismiss bubble by dragging it to dismiss
       - Send an update to the same bubble before removal is processed
         in wmshell
       - Verify bubble is added back
       - Verify bubble is not removed when the removal is processed
         in wmshell
Change-Id: I05ddc692fe30709125e380351b223d20a0778264
3 files changed