Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d9f2c1c authored by Jagrut Desai's avatar Jagrut Desai Committed by Android (Google) Code Review
Browse files

Merge "Animate aways Notification Dots for Taskbar Pinning Annimation" into main

parents 61526a74 47bf322e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ class TaskbarPinningController(private val context: TaskbarActivityContext) :
        animatorSet.doOnEnd { recreateTaskbarAndUpdatePinningValue() }
        animatorSet.duration = PINNING_ANIMATION_DURATION
        updateIsAnimatingTaskbarPinningAndNotifyTaskbarDragLayer(true)
        taskbarViewController.animateAwayNotificationDotsDuringTaskbarPinningAnimation()
        animatorSet.start()
    }

+12 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import androidx.core.graphics.ColorUtils;
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 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
        }
    }

    /**
     * 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;
+2 −2
Original line number Diff line number Diff line
@@ -301,7 +301,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
        }
    }

    private void animateDotScale(float... dotScales) {
    public void animateDotScale(float... dotScales) {
        cancelDotScaleAnim();
        mDotScaleAnim = ObjectAnimator.ofFloat(this, DOT_SCALE_PROPERTY, dotScales);
        mDotScaleAnim.addListener(new AnimatorListenerAdapter() {
@@ -656,7 +656,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
        return mForceHideDot;
    }

    private boolean hasDot() {
    public boolean hasDot() {
        return mDotInfo != null;
    }