Bubble v2 animation improvement.

Including:
1. Add opacity animation when show/hide/expand/collapse
2. Decrease animation duration when hide
3. Animate small icon when switch left/right side instead of changing gravity
Bug: 67605985
Test: manual
PiperOrigin-RevId: 178413027
Change-Id: I8a915bbed60a2841ccc534f2c68575da062c82e3
diff --git a/java/com/android/newbubble/NewMoveHandler.java b/java/com/android/newbubble/NewMoveHandler.java
index 9cb1f1e..9e6d955 100644
--- a/java/com/android/newbubble/NewMoveHandler.java
+++ b/java/com/android/newbubble/NewMoveHandler.java
@@ -88,6 +88,7 @@
 
         @Override
         public void setValue(LayoutParams windowParams, float value) {
+          boolean wasOnRight = (windowParams.gravity & Gravity.RIGHT) == Gravity.RIGHT;
           int displayWidth = context.getResources().getDisplayMetrics().widthPixels;
           boolean onRight;
           Integer gravityOverride = bubble.getGravityOverride();
@@ -108,7 +109,9 @@
           windowParams.gravity = Gravity.TOP | (onRight ? Gravity.RIGHT : Gravity.LEFT);
           if (bubble.isVisible()) {
             windowManager.updateViewLayout(bubble.getRootView(), windowParams);
-            bubble.onLeftRightSwitch(onRight);
+            if (onRight != wasOnRight) {
+              bubble.onLeftRightSwitch(onRight);
+            }
           }
         }
       };