Animate aways Notification Dots for Taskbar Pinning Annimation
Test: Manual
Bug: 308460959
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED
Change-Id: Ic16881c05c70ed717dc63131d94ece805c39f6fc
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarPinningController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarPinningController.kt
index d1bed3e..20d6343 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarPinningController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarPinningController.kt
@@ -85,6 +85,7 @@
animatorSet.doOnEnd { recreateTaskbarAndUpdatePinningValue() }
animatorSet.duration = PINNING_ANIMATION_DURATION
updateIsAnimatingTaskbarPinningAndNotifyTaskbarDragLayer(true)
+ taskbarViewController.animateAwayNotificationDotsDuringTaskbarPinningAnimation()
animatorSet.start()
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
index 0780cf8..c54288c 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
@@ -52,6 +52,7 @@
import androidx.core.view.OneShotPreDrawListener;
import com.android.app.animation.Interpolators;
+import com.android.launcher3.BubbleTextView;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.R;
@@ -338,6 +339,17 @@
}
}
+ /**
+ * Animate away taskbar icon notification dots during the taskbar pinning animation.
+ */
+ public void animateAwayNotificationDotsDuringTaskbarPinningAnimation() {
+ for (View iconView : mTaskbarView.getIconViews()) {
+ if (iconView instanceof BubbleTextView && ((BubbleTextView) iconView).hasDot()) {
+ ((BubbleTextView) iconView).animateDotScale(0);
+ }
+ }
+ }
+
private void updateTaskbarIconTranslationXForPinning() {
View[] iconViews = mTaskbarView.getIconViews();
float scale = mTaskbarIconTranslationXForPinning.value;
diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java
index ddcb1e6..e2e528c 100644
--- a/src/com/android/launcher3/BubbleTextView.java
+++ b/src/com/android/launcher3/BubbleTextView.java
@@ -294,7 +294,7 @@
}
}
- private void animateDotScale(float... dotScales) {
+ public void animateDotScale(float... dotScales) {
cancelDotScaleAnim();
mDotScaleAnim = ObjectAnimator.ofFloat(this, DOT_SCALE_PROPERTY, dotScales);
mDotScaleAnim.addListener(new AnimatorListenerAdapter() {
@@ -646,7 +646,7 @@
return mForceHideDot;
}
- private boolean hasDot() {
+ public boolean hasDot() {
return mDotInfo != null;
}