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

Commit bdbfd5bb authored by Tony Wickham's avatar Tony Wickham Committed by Android (Google) Code Review
Browse files

Merge "Use notification icon views' tags to store NotificationInfo." into ub-launcher3-master

parents cf23ef30 1f0b5347
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -36,10 +36,8 @@ import com.android.launcher3.graphics.IconPalette;
import com.android.launcher3.popup.PopupContainerWithArrow;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
 * A {@link LinearLayout} that contains only icons of notifications.
@@ -57,7 +55,6 @@ public class NotificationFooterLayout extends LinearLayout {

    private final List<NotificationInfo> mNotifications = new ArrayList<>();
    private final List<NotificationInfo> mOverflowNotifications = new ArrayList<>();
    private final Map<View, NotificationInfo> mViewsToInfos = new HashMap<>();

    LinearLayout.LayoutParams mIconLayoutParams;
    private LinearLayout mIconRow;
@@ -115,7 +112,6 @@ public class NotificationFooterLayout extends LinearLayout {
     */
    public void commitNotificationInfos() {
        mIconRow.removeAllViews();
        mViewsToInfos.clear();

        for (int i = 0; i < mNotifications.size(); i++) {
            NotificationInfo info = mNotifications.get(i);
@@ -141,8 +137,8 @@ public class NotificationFooterLayout extends LinearLayout {
            icon.setAlpha(0);
            icon.animate().alpha(1);
        }
        icon.setTag(info);
        mIconRow.addView(icon, addIndex, mIconLayoutParams);
        mViewsToInfos.put(icon, info);
    }

    private void updateOverflowText(TextView overflowTextView) {
@@ -165,7 +161,7 @@ public class NotificationFooterLayout extends LinearLayout {
        moveAndScaleIcon.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                callback.onIconAnimationEnd(mViewsToInfos.get(firstNotification));
                callback.onIconAnimationEnd((NotificationInfo) firstNotification.getTag());
            }
        });
        animation.play(moveAndScaleIcon);
@@ -207,11 +203,10 @@ public class NotificationFooterLayout extends LinearLayout {
            if (child instanceof TextView) {
                overflowView = (TextView) child;
            } else {
                NotificationInfo childInfo = mViewsToInfos.get(child);
                NotificationInfo childInfo = (NotificationInfo) child.getTag();
                if (!notifications.contains(childInfo.notificationKey)) {
                    mIconRow.removeView(child);
                    mNotifications.remove(childInfo);
                    mViewsToInfos.remove(child);
                    if (!mOverflowNotifications.isEmpty()) {
                        NotificationInfo notification = mOverflowNotifications.remove(0);
                        mNotifications.add(notification);