BubbleData: Add notion of "pending bubbles" while the contents are being loaded

Previously the code allowed multiple instances of the same bubble to be
created if getOrCreateBubble was called quickly in succession.

This maintains a list of pending bubbles so that we're not making duplicates.

Test: manual - have music of some kind playing / music notif
             - via bubble experiment, make it into a bubble
             - get another bubble, expand / collapse / expand stack
             => Notice that there is only 1 music bubble, not many
             - dismiss the stack, get another bubble, expand the stack
             => Notice that the previous music bubble is not hanging around
             => Notice that the bubbles are dismissed / don't stick around
                the dismiss target area
Fixes: 147465006
Fixes: 147448416
Change-Id: Ib791e838daa5f314e3ae180ccc633a658ddb4956
1 file changed