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

Commit 394a5d68 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Update dark mode on notifications when content is updated

When a notification was updated and we were currently in doze mode,
the views were updated but not all the color filters to make it dark
on it, so we ended up with a colored notification in doze mode.

Bug: 18537470
Change-Id: Ifde70d744a4e04e4c0d13684f3c0088f279f2d78
parent 38499cf8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -244,6 +244,9 @@ public class NotificationContentView extends FrameLayout {

    public void notifyContentUpdated() {
        selectLayout(false /* animate */, true /* force */);
        if (mContractedChild != null) {
            mContractedWrapper.setDark(mDark, false /* animate */, 0 /* delay */);
        }
    }

    public boolean isContentExpandable() {
+4 −8
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ import com.android.systemui.statusbar.phone.NotificationPanelView;
public class NotificationCustomViewWrapper extends NotificationViewWrapper {

    private final ViewInvertHelper mInvertHelper;
    private boolean mDark;

    protected NotificationCustomViewWrapper(View view) {
        super(view);
@@ -36,8 +35,6 @@ public class NotificationCustomViewWrapper extends NotificationViewWrapper {

    @Override
    public void setDark(boolean dark, boolean fade, long delay) {
        if (mDark != dark) {
            mDark = dark;
        if (fade) {
            mInvertHelper.fade(dark, delay);
        } else {
@@ -45,4 +42,3 @@ public class NotificationCustomViewWrapper extends NotificationViewWrapper {
        }
    }
}
}
+2 −7
Original line number Diff line number Diff line
@@ -24,19 +24,14 @@ import android.view.View;
 */
public class NotificationMediaViewWrapper extends NotificationTemplateViewWrapper {

    private boolean mDark;

    protected NotificationMediaViewWrapper(Context ctx, View view) {
        super(ctx, view);
    }

    @Override
    public void setDark(boolean dark, boolean fade, long delay) {
        if (mDark != dark) {
            mDark = dark;

        // Only update the large icon, because the rest is already inverted.
        setPictureGrayscale(dark, fade, delay);
    }
}
}
+14 −19
Original line number Diff line number Diff line
@@ -51,8 +51,6 @@ public class NotificationTemplateViewWrapper extends NotificationViewWrapper {
    private final int mIconBackgroundDarkColor;
    private final Interpolator mLinearOutSlowInInterpolator;

    private boolean mDark;

    protected NotificationTemplateViewWrapper(Context ctx, View view) {
        super(view);
        mIconDarkAlpha = ctx.getResources().getInteger(R.integer.doze_small_icon_alpha);
@@ -95,8 +93,6 @@ public class NotificationTemplateViewWrapper extends NotificationViewWrapper {

    @Override
    public void setDark(boolean dark, boolean fade, long delay) {
        if (mDark != dark) {
            mDark = dark;
        if (mInvertHelper != null) {
            if (fade) {
                mInvertHelper.fade(dark, delay);
@@ -115,7 +111,6 @@ public class NotificationTemplateViewWrapper extends NotificationViewWrapper {
        }
        setPictureGrayscale(dark, fade, delay);
    }
    }

    protected void setPictureGrayscale(boolean grayscale, boolean fade, long delay) {
        if (mPicture != null) {