Fix issues with Bubbles+IME.

1) System window inset bottom now includes IME height, so we were double counting the IME. Changed to stable inset (this is what PIP uses).
2) If you dismissed the stack while IME was up, we didn't tell the stack view when IME goes down since there were no bubbles. This meant you couldn't place bubbles where the IME used to be.
3) Flyout wasn't animating with the stack when avoiding IME. Changed to animate the flyout.

Test: 1) Open IME, observe you can drag bubbles in the expected locations
Test: 2) Dismiss bubble stack with IME up, close IME, observe you can drag bubbles where the IME used to be.
Test: 3) Move stack to bottom of screen, add new bubble and quickly open IME, observe flyout animates up, close IME, observe flyout animates back down.
Fixes: 141780462
Change-Id: Ied1d6da1edf946ca338bd908e52a3863c90ffd5a
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
index f873f42..8f7ab5a 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
@@ -1311,7 +1311,7 @@
     private class BubblesImeListener extends PinnedStackListenerForwarder.PinnedStackListener {
         @Override
         public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {
-            if (mStackView != null && mStackView.getBubbleCount() > 0) {
+            if (mStackView != null) {
                 mStackView.post(() -> mStackView.onImeVisibilityChanged(imeVisible, imeHeight));
             }
         }