diff --git a/app/src/main/java/eu/faircode/email/FragmentAccounts.java b/app/src/main/java/eu/faircode/email/FragmentAccounts.java index bfcafa376f..9816f2b67f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccounts.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccounts.java @@ -60,6 +60,7 @@ public class FragmentAccounts extends FragmentBase { private boolean settings; private boolean cards; + private boolean beige; private ViewGroup view; private SwipeRefreshLayout swipeRefresh; @@ -84,6 +85,7 @@ public class FragmentAccounts extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); + beige = prefs.getBoolean("beige", false); } @Override @@ -230,7 +232,9 @@ public class FragmentAccounts extends FragmentBase { // Initialize if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.lightColorBackground_cards)); + view.setBackgroundColor(ContextCompat.getColor(getContext(), beige + ? R.color.lightColorBackground_cards_beige + : R.color.lightColorBackground_cards)); if (settings) { fab.show(); diff --git a/app/src/main/java/eu/faircode/email/FragmentAnswers.java b/app/src/main/java/eu/faircode/email/FragmentAnswers.java index b837c5af4c..6d92b338b6 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAnswers.java +++ b/app/src/main/java/eu/faircode/email/FragmentAnswers.java @@ -43,6 +43,7 @@ import java.util.List; public class FragmentAnswers extends FragmentBase { private boolean cards; + private boolean beige; private RecyclerView rvAnswer; private ContentLoadingProgressBar pbWait; @@ -57,6 +58,7 @@ public class FragmentAnswers extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); + beige = prefs.getBoolean("beige", false); } @Override @@ -100,7 +102,9 @@ public class FragmentAnswers extends FragmentBase { // Initialize if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.lightColorBackground_cards)); + view.setBackgroundColor(ContextCompat.getColor(getContext(), beige + ? R.color.lightColorBackground_cards_beige + : R.color.lightColorBackground_cards)); grpReady.setVisibility(View.GONE); pbWait.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/eu/faircode/email/FragmentFolders.java b/app/src/main/java/eu/faircode/email/FragmentFolders.java index 329ba6d004..56e8890ba2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolders.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolders.java @@ -78,6 +78,7 @@ public class FragmentFolders extends FragmentBase { private FloatingActionButton fabError; private boolean cards; + private boolean beige; private boolean compact; private long account; @@ -104,6 +105,7 @@ public class FragmentFolders extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); + beige = prefs.getBoolean("beige", false); compact = prefs.getBoolean("compact_folders", false); show_flagged = prefs.getBoolean("flagged_folders", false); @@ -266,7 +268,9 @@ public class FragmentFolders extends FragmentBase { // Initialize if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.lightColorBackground_cards)); + view.setBackgroundColor(ContextCompat.getColor(getContext(), beige + ? R.color.lightColorBackground_cards_beige + : R.color.lightColorBackground_cards)); grpReady.setVisibility(View.GONE); pbWait.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentities.java b/app/src/main/java/eu/faircode/email/FragmentIdentities.java index 41d5bc398b..3bcc39d953 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentities.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentities.java @@ -45,6 +45,7 @@ import java.util.List; public class FragmentIdentities extends FragmentBase { private boolean cards; + private boolean beige; private RecyclerView rvIdentity; private ContentLoadingProgressBar pbWait; @@ -60,6 +61,7 @@ public class FragmentIdentities extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); + beige = prefs.getBoolean("beige", false); } @Override @@ -115,7 +117,9 @@ public class FragmentIdentities extends FragmentBase { // Initialize if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.lightColorBackground_cards)); + view.setBackgroundColor(ContextCompat.getColor(getContext(), beige + ? R.color.lightColorBackground_cards_beige + : R.color.lightColorBackground_cards)); grpReady.setVisibility(View.GONE); pbWait.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index a0bc4873a3..a0474779c2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -271,6 +271,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private OpenPgpServiceConnection pgpService; private boolean cards; + private boolean beige; private boolean date; private boolean threading; private boolean swipenav; @@ -392,6 +393,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. swipenav = prefs.getBoolean("swipenav", true); cards = prefs.getBoolean("cards", true); + beige = prefs.getBoolean("beige", false); date = prefs.getBoolean("date", true); threading = prefs.getBoolean("threading", true); seekbar = prefs.getBoolean("seekbar", false); @@ -1131,8 +1133,11 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. addKeyPressedListener(onBackPressedListener); // Initialize + if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.lightColorBackground_cards)); + view.setBackgroundColor(ContextCompat.getColor(getContext(), beige + ? R.color.lightColorBackground_cards_beige + : R.color.lightColorBackground_cards)); tvNoEmail.setVisibility(View.GONE); tvNoEmailHint.setVisibility(View.GONE); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 6236cb9c16..5eb338a912 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -78,7 +78,7 @@ public class FragmentOptions extends FragmentBase { static String[] OPTIONS_RESTART = new String[]{ "first", "app_support", "notify_archive", "message_swipe", "message_select", "folder_actions", "folder_sync", "subscriptions", - "portrait2", "landscape", "landscape3", "startup", "cards", "indentation", "date", "threading", "threading_unread", + "portrait2", "landscape", "landscape3", "startup", "cards", "beige", "indentation", "date", "threading", "threading_unread", "highlight_unread", "color_stripe", "avatars", "gravatars", "favicons", "generated_icons", "identicons", "circular", "saturation", "brightness", "threshold", "name_email", "prefer_contact", "distinguish_contacts", "show_recipients", "authentication", diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java index a87a1bb29b..9825f7f18c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java @@ -61,6 +61,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer private Button btnTheme; private Spinner spStartup; private SwitchCompat swCards; + private SwitchCompat swBeige; private SwitchCompat swDate; private SwitchCompat swNavBarColorize; private SwitchCompat swPortrait2; @@ -127,7 +128,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer private SwitchCompat swAuthentication; private final static String[] RESET_OPTIONS = new String[]{ - "theme", "startup", "cards", "date", "navbar_colorize", "portrait2", "landscape", "landscape3", + "theme", "startup", "cards", "beige", "date", "navbar_colorize", "portrait2", "landscape", "landscape3", "threading", "threading_unread", "indentation", "seekbar", "actionbar", "actionbar_color", "highlight_unread", "color_stripe", "avatars", "gravatars", "favicons", "generated_icons", "identicons", "circular", "saturation", "brightness", "threshold", @@ -155,6 +156,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer btnTheme = view.findViewById(R.id.btnTheme); spStartup = view.findViewById(R.id.spStartup); swCards = view.findViewById(R.id.swCards); + swBeige = view.findViewById(R.id.swBeige); swDate = view.findViewById(R.id.swDate); swNavBarColorize = view.findViewById(R.id.swNavBarColorize); swPortrait2 = view.findViewById(R.id.swPortrait2); @@ -247,10 +249,18 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("cards", checked).apply(); + swBeige.setEnabled(checked); swIndentation.setEnabled(checked); } }); + swBeige.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("beige", checked).apply(); + } + }); + swDate.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -809,6 +819,8 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer } swCards.setChecked(prefs.getBoolean("cards", true)); + swBeige.setChecked(prefs.getBoolean("beige", false)); + swBeige.setEnabled(swCards.isChecked()); swDate.setChecked(prefs.getBoolean("date", true)); swNavBarColorize.setChecked(prefs.getBoolean("navbar_colorize", false)); swPortrait2.setChecked(prefs.getBoolean("portrait2", false)); diff --git a/app/src/main/java/eu/faircode/email/FragmentRules.java b/app/src/main/java/eu/faircode/email/FragmentRules.java index f3107b0126..83d4aa7578 100644 --- a/app/src/main/java/eu/faircode/email/FragmentRules.java +++ b/app/src/main/java/eu/faircode/email/FragmentRules.java @@ -73,6 +73,7 @@ public class FragmentRules extends FragmentBase { private String type; private boolean cards; + private boolean beige; private RecyclerView rvRule; private ContentLoadingProgressBar pbWait; @@ -100,6 +101,7 @@ public class FragmentRules extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); + beige = prefs.getBoolean("beige", false); } @Override @@ -151,7 +153,9 @@ public class FragmentRules extends FragmentBase { // Initialize if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.lightColorBackground_cards)); + view.setBackgroundColor(ContextCompat.getColor(getContext(), beige + ? R.color.lightColorBackground_cards_beige + : R.color.lightColorBackground_cards)); grpReady.setVisibility(View.GONE); pbWait.setVisibility(View.VISIBLE); diff --git a/app/src/main/res/layout/fragment_options_display.xml b/app/src/main/res/layout/fragment_options_display.xml index 761e548bef..1a8636a9f6 100644 --- a/app/src/main/res/layout/fragment_options_display.xml +++ b/app/src/main/res/layout/fragment_options_display.xml @@ -98,6 +98,30 @@ app:layout_constraintTop_toBottomOf="@id/tvStartupHint" app:switchPadding="12dp" /> + + + + #fff #eee + + #fff8e7 #fff #ddd diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f2178be621..773bf8730b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -338,6 +338,7 @@ Show navigation menu in landscape mode by default Show on start screen Use card style instead of tabular style + Use beige background for cards Group by date Conversation threading Show number of unread messages in conversations @@ -542,6 +543,7 @@ Switching to a more compact layout and changing the message text size can be done in the top action bar menu in the message view Long press any folder in the folder list to add or remove it from the list of unified folders + Light themes only Messages are only grouped by date if they are sorted by time Whether this works depends on the Android version and variant Group messages related to each other