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

Commit beb5bc83 authored by Evan Laird's avatar Evan Laird Committed by android-build-merger
Browse files

Merge "Limit number of notification etc dots to 1" into pi-dev

am: aa028760

Change-Id: I121ced7fe7e051f4d7ebfd1e4d254fc23e2cb745
parents 481397eb aa028760
Loading
Loading
Loading
Loading
+15 −9
Original line number Diff line number Diff line
@@ -129,13 +129,14 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {

    public static final int MAX_VISIBLE_ICONS_WHEN_DARK = 5;
    public static final int MAX_STATIC_ICONS = 4;
    private static final int MAX_DOTS = 3;
    private static final int MAX_DOTS = 1;

    private boolean mIsStaticLayout = true;
    private final HashMap<View, IconState> mIconStates = new HashMap<>();
    private int mDotPadding;
    private int mStaticDotRadius;
    private int mStaticDotDiameter;
    private int mOverflowWidth;
    private int mActualLayoutWidth = NO_VALUE;
    private float mActualPaddingEnd = NO_VALUE;
    private float mActualPaddingStart = NO_VALUE;
@@ -230,7 +231,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
            int top = (int) (centerY - height / 2.0f);
            child.layout(0, top, width, top + height);
            if (i == 0) {
                mIconSize = child.getWidth();
                setIconSize(child.getWidth());
            }
        }
        getLocationOnScreen(mAbsolutePosition);
@@ -239,6 +240,11 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
        }
    }

    private void setIconSize(int size) {
        mIconSize = size;
        mOverflowWidth = mIconSize + (MAX_DOTS - 1) * (mStaticDotDiameter + mDotPadding);
    }

    private void updateState() {
        resetViewStates();
        calculateIconTranslations();
@@ -391,12 +397,12 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
            iconState.visibleState = StatusBarIconView.STATE_ICON;

            boolean isOverflowing =
                    (translationX >= (noOverflowAfter ? layoutEnd - mIconSize : overflowStart));
                    (translationX > (noOverflowAfter ? layoutEnd - mIconSize
                            : overflowStart - mIconSize));
            if (firstOverflowIndex == -1 && (forceOverflow || isOverflowing)) {
                firstOverflowIndex = noOverflowAfter && !forceOverflow ? i - 1 : i;
                mVisualOverflowStart = layoutEnd - mIconSize
                        - 2 * (mStaticDotDiameter + mDotPadding);
                if (forceOverflow) {
                mVisualOverflowStart = layoutEnd - mOverflowWidth;
                if (forceOverflow || mIsStaticLayout) {
                    mVisualOverflowStart = Math.min(translationX, mVisualOverflowStart);
                }
            }
@@ -408,7 +414,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
            for (int i = firstOverflowIndex; i < childCount; i++) {
                View view = getChildAt(i);
                IconState iconState = mIconStates.get(view);
                int dotWidth = mStaticDotRadius * 2 + mDotPadding;
                int dotWidth = mStaticDotDiameter + mDotPadding;
                iconState.xTranslation = translationX;
                if (mNumDots < MAX_DOTS) {
                    if (mNumDots == 0 && iconState.iconAppearAmount < 0.8f) {
@@ -536,7 +542,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
    }

    private float getMaxOverflowStart() {
        return getLayoutEnd() - mIconSize * (2 + OVERFLOW_EARLY_AMOUNT);
        return getLayoutEnd() - mOverflowWidth;
    }

    public void setChangingViewPositions(boolean changingViewPositions) {
@@ -607,7 +613,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
            return 0;
        }

        int collapsedPadding = mIconSize + 2 * (mStaticDotDiameter + mDotPadding);
        int collapsedPadding = mOverflowWidth;

        if (collapsedPadding + getFinalTranslationX() > getWidth()) {
            collapsedPadding = getWidth() - getFinalTranslationX();