Bubble bar user education
The bubble bar user education consisits of 2 user education prompts:
* Stack education - implemented in this CL, shows user education when
the user interacts with the conversation bubbles the first time.
* Manage education - implemented in ag/24420064, shows user education
when the conversation bubble is expanded the first time.
The user education logic is split between WMShell and Launcher as bubble
bar is implemented in both. The user education state (seen/unseen) is
stored in WMShell shared preferences. The Launcher is provided with
`shouldShowEducation` flag in `BubbleBarUpdate` to enable user education
interactions:
* If the stack user education hasn't been seen and the selected bubble
is a conversation bubble, `BubbleController` in WMShell dispatches an
update with `shouldShowEducation` true.
* When `BubbleBarController` in Launcher applies the update, it shows
bubble bar in a collapsed state.
* When the bubble bar is clicked, `BubbleBarController` notifies the
WMShell to show the user education relative to the position provided.
* When the user education is presented:
* If user clicks outside the user education view, the education gets
hidden. The next time user clicks on the bubble bar the WMShell will
show expanded bubble view.
* If user clicks on the user education view, `BubbleController`
expands the selected bubble and notifies Laucnher to expand the
bubble bar.
* If the user clicks on the bubble bar, it expands and notifes WMShell
to expand the selected bubble (which hides the user education).
Bug: 275077944
Test: atest BubblesTest BubbleDataTest, TBD
Flag: WM_BUBBLE_BAR
Change-Id: I04143e20f59fa4ba7143c3b4ff9d7e5ce4b94721
15 files changed