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

Commit ac3d097a authored by Steve Elliott's avatar Steve Elliott
Browse files

Replace NIC#setInNotifIconShelf

Flag: ACONFIG com.android.systemui.notifications_icon_container_refactor DEVELOPMENT
Bug: 278765923
Test: atest SystemUITests
Change-Id: I5e0fca2f3d7e4dde553c0ca6cf8127795f6f9da7
parent bc7502b2
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import com.android.systemui.statusbar.notification.SourceType;
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor;
import com.android.systemui.statusbar.notification.stack.AmbientState;
import com.android.systemui.statusbar.notification.stack.AnimationProperties;
import com.android.systemui.statusbar.notification.stack.ExpandableViewState;
@@ -151,7 +152,11 @@ public class NotificationShelf extends ActivatableNotificationView {
                R.dimen.notification_corner_animation_distance);
        mEnableNotificationClipping = res.getBoolean(R.bool.notification_enable_clipping);

        if (NotificationIconContainerRefactor.isEnabled()) {
            mShelfIcons.setOverrideIconColor(true);
        } else {
            mShelfIcons.setInNotificationIconShelf(true);
        }
        if (!mShowNotificationShelf) {
            setVisibility(GONE);
        }
+14 −7
Original line number Diff line number Diff line
@@ -132,13 +132,16 @@ public class NotificationIconContainer extends ViewGroup {
        }
    }.setDuration(CONTENT_FADE_DURATION);

    // TODO(b/278765923): Replace these with domain-agnostic state
    /* Maximum number of icons on AOD when also showing overflow dot. */
    private int mMaxIconsOnAod;

    /* Maximum number of icons in short shelf on lockscreen when also showing overflow dot. */
    private int mMaxIconsOnLockscreen;
    /* Maximum number of icons in the status bar when also showing overflow dot. */
    private int mMaxStaticIcons;
    private boolean mDozing;
    private boolean mOnLockScreen;
    private boolean mOverrideIconColor;

    private boolean mIsStaticLayout = true;
    private final HashMap<View, IconState> mIconStates = new HashMap<>();
@@ -147,9 +150,6 @@ public class NotificationIconContainer extends ViewGroup {
    private int mActualLayoutWidth = NO_VALUE;
    private float mActualPaddingEnd = NO_VALUE;
    private float mActualPaddingStart = NO_VALUE;
    private boolean mDozing;
    private boolean mOnLockScreen;
    private boolean mInNotificationIconShelf;
    private boolean mChangingViewPositions;
    private int mAddAnimationStartIndex = -1;
    private int mCannedAnimationStartIndex = -1;
@@ -284,7 +284,7 @@ public class NotificationIconContainer extends ViewGroup {
    public String toString() {
        return "NotificationIconContainer("
                + "dozing=" + mDozing + " onLockScreen=" + mOnLockScreen
                + " inNotificationIconShelf=" + mInNotificationIconShelf
                + " overrideIconColor=" + mOverrideIconColor
                + " speedBumpIndex=" + mSpeedBumpIndex
                + " themedTextColorPrimary=#" + Integer.toHexString(mThemedTextColorPrimary) + ')';
    }
@@ -739,8 +739,15 @@ public class NotificationIconContainer extends ViewGroup {
        mOnLockScreen = onLockScreen;
    }

    @Deprecated
    public void setInNotificationIconShelf(boolean inShelf) {
        mInNotificationIconShelf = inShelf;
        NotificationIconContainerRefactor.assertInLegacyMode();
        mOverrideIconColor = inShelf;
    }

    public void setOverrideIconColor(boolean override) {
        if (NotificationIconContainerRefactor.isUnexpectedlyInLegacyMode()) return;
        mOverrideIconColor = override;
    }

    public class IconState extends ViewState {
@@ -858,7 +865,7 @@ public class NotificationIconContainer extends ViewGroup {
                    }
                }
                icon.setVisibleState(visibleState, animationsAllowed);
                icon.setIconColor(mInNotificationIconShelf ? mThemedTextColorPrimary : iconColor,
                icon.setIconColor(mOverrideIconColor ? mThemedTextColorPrimary : iconColor,
                        needsCannedAnimation && animationsAllowed);
                if (animate) {
                    animateTo(icon, animationProperties);