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

Commit 5aaf7d85 authored by Jeff DeCew's avatar Jeff DeCew Committed by Android Build Coastguard Worker
Browse files

FooterView color logic cleanup

Bug reports showed that when night mode eneded due to schedule, the text color was updated but not the background color.  Just from analyzing the code, this appears to be due to onConfigurationChanged not being called on the footer view, but NSSL.onUiModeChanged was calling into FooterView.setTextColor.  So logically, this seems like a likely fix, even though I can't repro the bug.

Fixes: 197449800
Test: manual theme change continues to update footer colors.
Test: manual language change updates footer text.
Change-Id: If6fdb527eee244561dcd3975d859de93609662a5
(cherry picked from commit 70a32892)
(cherry picked from commit 7846db0d)
parent cb890336
Loading
Loading
Loading
Loading
+13 −18
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.systemui.statusbar.notification.row;

import android.annotation.ColorInt;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
@@ -28,15 +27,12 @@ import com.android.systemui.statusbar.notification.stack.ExpandableViewState;
import com.android.systemui.statusbar.notification.stack.ViewState;

public class FooterView extends StackScrollerDecorView {
    private final int mClearAllTopPadding;
    private FooterViewButton mDismissButton;
    private FooterViewButton mManageButton;
    private boolean mShowHistory;

    public FooterView(Context context, AttributeSet attrs) {
        super(context, attrs);
        mClearAllTopPadding = context.getResources().getDimensionPixelSize(
                R.dimen.clear_all_padding_top);
    }

    @Override
@@ -55,11 +51,6 @@ public class FooterView extends StackScrollerDecorView {
        mManageButton = findViewById(R.id.manage_text);
    }

    public void setTextColor(@ColorInt int color) {
        mManageButton.setTextColor(color);
        mDismissButton.setTextColor(color);
    }

    public void setManageButtonClickListener(OnClickListener listener) {
        mManageButton.setOnClickListener(listener);
    }
@@ -95,21 +86,25 @@ public class FooterView extends StackScrollerDecorView {
    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        int textColor = getResources().getColor(R.color.notif_pill_text);
        Resources.Theme theme = getContext().getTheme();
        mDismissButton.setBackground(
                getResources().getDrawable(R.drawable.notif_footer_btn_background, theme));
        mDismissButton.setTextColor(textColor);
        mManageButton.setBackground(
                getResources().getDrawable(R.drawable.notif_footer_btn_background, theme));
        mManageButton = findViewById(R.id.manage_text);
        updateColors();
        mDismissButton.setText(R.string.clear_all_notifications_text);
        mManageButton.setTextColor(textColor);
        mDismissButton.setContentDescription(
                mContext.getString(R.string.accessibility_clear_all));
        showHistory(mShowHistory);
    }

    /**
     * Update the text and background colors for the current color palette and night mode setting.
     */
    public void updateColors() {
        Resources.Theme theme = mContext.getTheme();
        int textColor = getResources().getColor(R.color.notif_pill_text, theme);
        mDismissButton.setBackground(theme.getDrawable(R.drawable.notif_footer_btn_background));
        mDismissButton.setTextColor(textColor);
        mManageButton.setBackground(theme.getDrawable(R.drawable.notif_footer_btn_background));
        mManageButton.setTextColor(textColor);
    }

    @Override
    public ExpandableViewState createExpandableViewState() {
        return new FooterViewState();
+1 −1
Original line number Diff line number Diff line
@@ -4231,7 +4231,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        final @ColorInt int textColor =
                Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorPrimary);
        mSectionsManager.setHeaderForegroundColor(textColor);
        mFooterView.setTextColor(textColor);
        mFooterView.updateColors();
        mEmptyShadeView.setTextColor(textColor);
    }