Translate bubbles with IME
* When IME appears, translate the expanded state + row of bubbles into
correct position
* Moves the logic to apply the forwarded insets into BubbleStackView;
also applies the insets after all the animation / translation
* Don't update the height of the expanded view when the IME is visible
(this causes config change which loses IME -- instead we'll update the
height when IME goes away
* Clears out the insets when the view goes away
What's left to do: if the expanded view is too big the top portion of
it gets shifted off screen, along with the header, this should actually
be clipped + header should be visible; this will come in follow up
Test: manual - have a bubble that uses IME, focus the IME
=> note the row of bubbles + expanded state animate up
- have multple bubbles of small, medium, large all that
focus the IME, expand and tap between them while focusing
the IME
=> make sure things move to the right places
- via BubbleSettings apk, toggle 'show bubbles at top', have
some very large bubbles that focus IME, tap between them
and focus IME, then tap between them without focusing
=> make sure the inset doesn't remain
- have a bubble that uses IME, open it + focus the IME, update
its height
=> note that the height doesn't change, once IME goes
away height is updated
Fixes: 128007159
Bug: 123544535
Change-Id: I8d613370d46e85f2779069f9c321e88f96a4ff36
3 files changed