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

Commit 06dc14ca authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Do not animate icons when leaving AoD" into oc-mr1-dev

parents 33b1e1fe 8274aa9f
Loading
Loading
Loading
Loading
+13 −32
Original line number Original line Diff line number Diff line
@@ -25,10 +25,8 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint;
import android.graphics.drawable.Icon;
import android.graphics.drawable.Icon;
import android.os.AsyncTask;
import android.os.AsyncTask;
import android.os.UserHandle;
import android.os.VibrationEffect;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.os.Vibrator;
import android.provider.Settings;
import android.support.v4.util.ArrayMap;
import android.support.v4.util.ArrayMap;
import android.support.v4.util.ArraySet;
import android.support.v4.util.ArraySet;
import android.util.AttributeSet;
import android.util.AttributeSet;
@@ -39,10 +37,8 @@ import com.android.systemui.Interpolators;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.statusbar.AlphaOptimizedFrameLayout;
import com.android.systemui.statusbar.AlphaOptimizedFrameLayout;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.notification.NotificationUtils;
import com.android.systemui.statusbar.stack.AnimationFilter;
import com.android.systemui.statusbar.stack.AnimationFilter;
import com.android.systemui.statusbar.stack.AnimationProperties;
import com.android.systemui.statusbar.stack.AnimationProperties;
import com.android.systemui.statusbar.stack.StackStateAnimator;
import com.android.systemui.statusbar.stack.ViewState;
import com.android.systemui.statusbar.stack.ViewState;


import java.util.ArrayList;
import java.util.ArrayList;
@@ -84,7 +80,10 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
    }.setDuration(CANNED_ANIMATION_DURATION)
    }.setDuration(CANNED_ANIMATION_DURATION)
            .setCustomInterpolator(View.TRANSLATION_Y, Interpolators.ICON_OVERSHOT);
            .setCustomInterpolator(View.TRANSLATION_Y, Interpolators.ICON_OVERSHOT);


    private static final AnimationProperties mTempProperties = new AnimationProperties() {
    /**
     * Temporary AnimationProperties to avoid unnecessary allocations.
     */
    private static final AnimationProperties sTempProperties = new AnimationProperties() {
        private AnimationFilter mAnimationFilter = new AnimationFilter();
        private AnimationFilter mAnimationFilter = new AnimationFilter();


        @Override
        @Override
@@ -102,15 +101,6 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
        }
        }
    }.setDuration(200).setDelay(50);
    }.setDuration(200).setDelay(50);


    private static final AnimationProperties UNDARK_PROPERTIES = new AnimationProperties() {
        private AnimationFilter mAnimationFilter = new AnimationFilter()
                .animateX();

        @Override
        public AnimationFilter getAnimationFilter() {
            return mAnimationFilter;
        }
    }.setDuration(StackStateAnimator.ANIMATION_DURATION_WAKEUP);
    public static final int MAX_VISIBLE_ICONS_WHEN_DARK = 5;
    public static final int MAX_VISIBLE_ICONS_WHEN_DARK = 5;


    private boolean mShowAllIcons = true;
    private boolean mShowAllIcons = true;
@@ -478,9 +468,6 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
            View view = getChildAt(i);
            View view = getChildAt(i);
            if (view instanceof StatusBarIconView) {
            if (view instanceof StatusBarIconView) {
                ((StatusBarIconView) view).setDark(dark, fade, delay);
                ((StatusBarIconView) view).setDark(dark, fade, delay);
                if (!dark && fade) {
                    getIconState((StatusBarIconView) view).justUndarkened = true;
                }
            }
            }
        }
        }
    }
    }
@@ -551,7 +538,6 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
        public boolean useFullTransitionAmount;
        public boolean useFullTransitionAmount;
        public boolean useLinearTransitionAmount;
        public boolean useLinearTransitionAmount;
        public boolean translateContent;
        public boolean translateContent;
        public boolean justUndarkened;
        public int iconColor = StatusBarIconView.NO_COLOR;
        public int iconColor = StatusBarIconView.NO_COLOR;
        public boolean noAnimations;
        public boolean noAnimations;
        public boolean isLastExpandIcon;
        public boolean isLastExpandIcon;
@@ -563,8 +549,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
                StatusBarIconView icon = (StatusBarIconView) view;
                StatusBarIconView icon = (StatusBarIconView) view;
                boolean animate = false;
                boolean animate = false;
                AnimationProperties animationProperties = null;
                AnimationProperties animationProperties = null;
                boolean animationsAllowed = (mAnimationsEnabled || justUndarkened)
                boolean animationsAllowed = mAnimationsEnabled && !mDisallowNextAnimation
                        && !mDisallowNextAnimation
                        && !noAnimations;
                        && !noAnimations;
                if (animationsAllowed) {
                if (animationsAllowed) {
                    if (justAdded || justReplaced) {
                    if (justAdded || justReplaced) {
@@ -576,9 +561,6 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
                            animationProperties = ADD_ICON_PROPERTIES;
                            animationProperties = ADD_ICON_PROPERTIES;
                            animate = true;
                            animate = true;
                        }
                        }
                    } else if (justUndarkened) {
                        animationProperties = UNDARK_PROPERTIES;
                        animate = true;
                    } else if (visibleState != icon.getVisibleState()) {
                    } else if (visibleState != icon.getVisibleState()) {
                        animationProperties = DOT_ANIMATION_PROPERTIES;
                        animationProperties = DOT_ANIMATION_PROPERTIES;
                        animate = true;
                        animate = true;
@@ -591,17 +573,17 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
                        animate = true;
                        animate = true;
                    }
                    }
                    if (needsCannedAnimation) {
                    if (needsCannedAnimation) {
                        AnimationFilter animationFilter = mTempProperties.getAnimationFilter();
                        AnimationFilter animationFilter = sTempProperties.getAnimationFilter();
                        animationFilter.reset();
                        animationFilter.reset();
                        animationFilter.combineFilter(
                        animationFilter.combineFilter(
                                ICON_ANIMATION_PROPERTIES.getAnimationFilter());
                                ICON_ANIMATION_PROPERTIES.getAnimationFilter());
                        mTempProperties.resetCustomInterpolators();
                        sTempProperties.resetCustomInterpolators();
                        mTempProperties.combineCustomInterpolators(ICON_ANIMATION_PROPERTIES);
                        sTempProperties.combineCustomInterpolators(ICON_ANIMATION_PROPERTIES);
                        if (animationProperties != null) {
                        if (animationProperties != null) {
                            animationFilter.combineFilter(animationProperties.getAnimationFilter());
                            animationFilter.combineFilter(animationProperties.getAnimationFilter());
                            mTempProperties.combineCustomInterpolators(animationProperties);
                            sTempProperties.combineCustomInterpolators(animationProperties);
                        }
                        }
                        animationProperties = mTempProperties;
                        animationProperties = sTempProperties;
                        animationProperties.setDuration(CANNED_ANIMATION_DURATION);
                        animationProperties.setDuration(CANNED_ANIMATION_DURATION);
                        animate = true;
                        animate = true;
                        mCannedAnimationStartIndex = indexOfChild(view);
                        mCannedAnimationStartIndex = indexOfChild(view);
@@ -610,11 +592,11 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
                            && indexOfChild(view) > mCannedAnimationStartIndex
                            && indexOfChild(view) > mCannedAnimationStartIndex
                            && (icon.getVisibleState() != StatusBarIconView.STATE_HIDDEN
                            && (icon.getVisibleState() != StatusBarIconView.STATE_HIDDEN
                            || visibleState != StatusBarIconView.STATE_HIDDEN)) {
                            || visibleState != StatusBarIconView.STATE_HIDDEN)) {
                        AnimationFilter animationFilter = mTempProperties.getAnimationFilter();
                        AnimationFilter animationFilter = sTempProperties.getAnimationFilter();
                        animationFilter.reset();
                        animationFilter.reset();
                        animationFilter.animateX();
                        animationFilter.animateX();
                        mTempProperties.resetCustomInterpolators();
                        sTempProperties.resetCustomInterpolators();
                        animationProperties = mTempProperties;
                        animationProperties = sTempProperties;
                        animationProperties.setDuration(CANNED_ANIMATION_DURATION);
                        animationProperties.setDuration(CANNED_ANIMATION_DURATION);
                        animate = true;
                        animate = true;
                    }
                    }
@@ -638,7 +620,6 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
            justAdded = false;
            justAdded = false;
            justReplaced = false;
            justReplaced = false;
            needsCannedAnimation = false;
            needsCannedAnimation = false;
            justUndarkened = false;
        }
        }


        private boolean shouldVibrateChange(boolean inShelfChanged) {
        private boolean shouldVibrateChange(boolean inShelfChanged) {