diff --git a/app/src/main/java/eu/faircode/email/ViewCardOptional.java b/app/src/main/java/eu/faircode/email/ViewCardOptional.java index 83bf7d435e..3f4661fcd2 100644 --- a/app/src/main/java/eu/faircode/email/ViewCardOptional.java +++ b/app/src/main/java/eu/faircode/email/ViewCardOptional.java @@ -37,6 +37,7 @@ public class ViewCardOptional extends CardView { private boolean threading; private int margin; private int ident; + private Integer color = null; public ViewCardOptional(@NonNull Context context) { super(context); @@ -82,12 +83,16 @@ public class ViewCardOptional extends CardView { @Override public void setCardBackgroundColor(int color) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); - boolean cards = prefs.getBoolean("cards", true); - if (cards && color == Color.TRANSPARENT) - color = Helper.resolveColor(getContext(), R.attr.colorCardBackground); + if (this.color == null || this.color != color) { + this.color = color; - super.setCardBackgroundColor(color); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); + boolean cards = prefs.getBoolean("cards", true); + if (cards && color == Color.TRANSPARENT) + color = Helper.resolveColor(getContext(), R.attr.colorCardBackground); + + super.setCardBackgroundColor(color); + } } public void setOutgoing(boolean outgoing) {