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

Commit e5f39898 authored by Hyunyoung Song's avatar Hyunyoung Song Committed by Android (Google) Code Review
Browse files

Merge "Do not animate icon if work profile is disabled Bug: 119884907" into ub-launcher3-master

parents c288c68f ef468d80
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -204,7 +204,15 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag
                        mLauncher.getStateManager().setCurrentAnimation(anim);

                        Rect windowTargetBounds = getWindowTargetBounds(targetCompats);
                        playIconAnimators(anim, v, windowTargetBounds);
                        boolean isAllOpeningTargetTrs = true;
                        for (int i = 0; i < targetCompats.length; i++) {
                            RemoteAnimationTargetCompat target = targetCompats[i];
                            if (target.mode == MODE_OPENING) {
                                isAllOpeningTargetTrs &= target.isTranslucent;
                            }
                            if (!isAllOpeningTargetTrs) break;
                        }
                        playIconAnimators(anim, v, windowTargetBounds, !isAllOpeningTargetTrs);
                        if (launcherClosing) {
                            Pair<AnimatorSet, Runnable> launcherContentAnimator =
                                    getLauncherContentAnimator(true /* isAppOpening */);
@@ -432,7 +440,8 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag
    /**
     * Animators for the "floating view" of the view used to launch the target.
     */
    private void playIconAnimators(AnimatorSet appOpenAnimator, View v, Rect windowTargetBounds) {
    private void playIconAnimators(AnimatorSet appOpenAnimator, View v, Rect windowTargetBounds,
            boolean toggleVisibility) {
        final boolean isBubbleTextView = v instanceof BubbleTextView;
        mFloatingView = new View(mLauncher);
        if (isBubbleTextView && v.getTag() instanceof ItemInfoWithIcon ) {
@@ -485,7 +494,9 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag

        // Swap the two views in place.
        ((ViewGroup) mDragLayer.getParent()).addView(mFloatingView);
        if (toggleVisibility) {
            v.setVisibility(View.INVISIBLE);
        }

        int[] dragLayerBounds = new int[2];
        mDragLayer.getLocationOnScreen(dragLayerBounds);
+8 −0
Original line number Diff line number Diff line
@@ -341,6 +341,14 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
        refreshDrawableState();
    }

    @Override
    public void onVisibilityAggregated(boolean isVisible) {
        super.onVisibilityAggregated(isVisible);
        if (mIcon != null) {
            mIcon.setVisible(getWindowVisibility() == VISIBLE && isShown(), false);
        }
    }

    @Override
    public void onLauncherResume() {
        // Reset the pressed state of icon that was locked in the press state while activity
+10 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.launcher3;

import static com.android.launcher3.anim.Interpolators.ACCEL;
import static com.android.launcher3.anim.Interpolators.DEACCEL;

import android.animation.ObjectAnimator;
import android.graphics.Bitmap;
@@ -220,10 +221,17 @@ public class FastBitmapDrawable extends Drawable {
                mScaleAnimation.setDuration(CLICK_FEEDBACK_DURATION);
                mScaleAnimation.setInterpolator(ACCEL);
                mScaleAnimation.start();
            } else {
                if (isVisible()) {
                    mScaleAnimation = ObjectAnimator.ofFloat(this, SCALE, 1f);
                    mScaleAnimation.setDuration(CLICK_FEEDBACK_DURATION);
                    mScaleAnimation.setInterpolator(DEACCEL);
                    mScaleAnimation.start();
                } else {
                    mScale = 1f;
                    invalidateSelf();
                }
            }
            return true;
        }
        return false;