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

Commit 57002147 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Update view colors on onOverlayChanged()

We were re-inflating some views, but not updating the colors everywhere
we needed. The Shelf, for example, had wrong background colors during
transitions because mNormalColor of notifications above it were kept
untouched.

Test: visual
Fixes: 178804239
Change-Id: Ieae0ceed99fd9c00b570a40438ce8313e481e3a4
parent add92198
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -1002,10 +1002,6 @@ public class NotificationShelf extends ActivatableNotificationView implements
        return false;
    }

    public void onUiModeChanged() {
        updateBackgroundColors();
    }

    public void setController(NotificationShelfController notificationShelfController) {
        mController = notificationShelfController;
    }
+4 −1
Original line number Diff line number Diff line
@@ -191,7 +191,10 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
        initDimens();
    }

    protected void updateBackgroundColors() {
    /**
     * Reload background colors from resources and invalidate views.
     */
    public void updateBackgroundColors() {
        updateColors();
        initBackground();
        updateBackgroundTint();
+6 −1
Original line number Diff line number Diff line
@@ -622,7 +622,12 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating)
                .getDefaultColor();
        updateBackgroundDimming();
        mShelf.onUiModeChanged();
        for (int i = 0; i < getChildCount(); i++) {
            View child = getChildAt(i);
            if (child instanceof ActivatableNotificationView) {
                ((ActivatableNotificationView) child).updateBackgroundColors();
            }
        }
    }

    @ShadeViewRefactor(RefactorComponent.DECORATOR)
+1 −0
Original line number Diff line number Diff line
@@ -223,6 +223,7 @@ public class NotificationStackScrollLayoutController {
            updateShowEmptyShadeView();
            mView.updateCornerRadius();
            mView.updateBgColor();
            mView.updateDecorViews();
            mView.reinflateViews();
        }