Modify the default start position of app bubbles on tablet

It's a bit tricky to pipe the current top bubble through all the
places we getDefaultPosition / getRestingPosition / isStackOnLeft.
These are used by Stack/ExpandedAnimationControllers when the views
are  initialized, before we know which bubble is getting added.

So instead of piping that info to those methods, I'm overriding
that info when an app bubble is added (and the resting position
hasn't been set previously).

Test: atest BubblePositionerTest BubbleDataTest
Test: manual - reboot the device so we don't have a previous resting
               location for bubbles
             - get an app bubble
             => observe in LTR the app bubble appears on the right
             => observe in RTL the app bubble appears on the left
             - test with a normal chat bubble and it should be the
               opposite (left in RTL, right in RTL).
Bug: 283910436
Change-Id: I4d32608dfd726384237e3963d469a4ad4db1e43d
6 files changed