From 513ef8a8547888e59b18c6d866ecd1fa340d2c18 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 27 Jun 2021 08:13:56 +0200 Subject: [PATCH] Added solarized light theme --- .../java/eu/faircode/email/ActivityBase.java | 10 +++- .../java/eu/faircode/email/ActivityEML.java | 12 +--- .../eu/faircode/email/FragmentAccounts.java | 9 +-- .../eu/faircode/email/FragmentAnswers.java | 10 +--- .../eu/faircode/email/FragmentCompose.java | 12 +--- .../faircode/email/FragmentDialogTheme.java | 37 +++++++++++-- .../eu/faircode/email/FragmentFolders.java | 10 +--- .../eu/faircode/email/FragmentIdentities.java | 10 +--- .../eu/faircode/email/FragmentMessages.java | 10 +--- .../email/FragmentOptionsBehavior.java | 8 +-- .../email/FragmentOptionsConnection.java | 13 +---- .../email/FragmentOptionsDisplay.java | 9 +-- .../email/FragmentOptionsEncryption.java | 8 +-- .../faircode/email/FragmentOptionsMisc.java | 8 +-- .../email/FragmentOptionsNotifications.java | 8 +-- .../email/FragmentOptionsPrivacy.java | 9 +-- .../faircode/email/FragmentOptionsSend.java | 8 +-- .../email/FragmentOptionsSynchronize.java | 8 +-- .../java/eu/faircode/email/FragmentRules.java | 9 +-- .../java/eu/faircode/email/FragmentSetup.java | 9 +-- ...ck_background.xml => background_black.xml} | 0 .../main/res/drawable/background_white.xml | 5 ++ app/src/main/res/values/colors.xml | 7 ++- app/src/main/res/values/styles.xml | 55 +++++++++++++------ 24 files changed, 108 insertions(+), 176 deletions(-) rename app/src/main/res/drawable/{black_background.xml => background_black.xml} (100%) create mode 100644 app/src/main/res/drawable/background_white.xml diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index dd6cac9ea1..b6eb2900e4 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -179,8 +179,12 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc break; // Solarized + case "solarized_light": + setTheme(R.style.AppThemeSolarizedLight); + break; case "solarized": - setTheme(R.style.AppThemeSolarized); + case "solarized_dark": + setTheme(R.style.AppThemeSolarizedDark); break; // Black @@ -246,6 +250,10 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc setTheme(night ? R.style.AppThemeGreySteelBlueDark : R.style.AppThemeGreySteelBlueLight); break; + case "solarized_system": + setTheme(night + ? R.style.AppThemeSolarizedDark : R.style.AppThemeSolarizedLight); + break; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { diff --git a/app/src/main/java/eu/faircode/email/ActivityEML.java b/app/src/main/java/eu/faircode/email/ActivityEML.java index 13257580ae..815c09c3f9 100644 --- a/app/src/main/java/eu/faircode/email/ActivityEML.java +++ b/app/src/main/java/eu/faircode/email/ActivityEML.java @@ -24,7 +24,6 @@ import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; -import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.text.Spannable; @@ -49,8 +48,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; -import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -200,14 +197,7 @@ public class ActivityEML extends ActivityBase { }); // Initialize - if (!Helper.isDarkTheme(this)) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(this, beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } - + FragmentDialogTheme.setBackground(this, view, false); vSeparatorAttachments.setVisibility(View.GONE); grpReady.setVisibility(View.GONE); diff --git a/app/src/main/java/eu/faircode/email/FragmentAccounts.java b/app/src/main/java/eu/faircode/email/FragmentAccounts.java index f8bf40ac08..b9b3924587 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccounts.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccounts.java @@ -39,7 +39,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.PopupMenu; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.Observer; import androidx.preference.PreferenceManager; @@ -61,7 +60,6 @@ public class FragmentAccounts extends FragmentBase { private boolean settings; private boolean cards; - private boolean beige; private ViewGroup view; private SwipeRefreshLayout swipeRefresh; @@ -86,7 +84,6 @@ public class FragmentAccounts extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); - beige = prefs.getBoolean("beige", true); } @Override @@ -213,11 +210,7 @@ public class FragmentAccounts extends FragmentBase { }); // Initialize - - if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); + FragmentDialogTheme.setBackground(getContext(), view, false); 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 3ef4e052b0..10bc2c05a0 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAnswers.java +++ b/app/src/main/java/eu/faircode/email/FragmentAnswers.java @@ -33,7 +33,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.SearchView; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.Observer; import androidx.preference.PreferenceManager; @@ -48,7 +47,6 @@ import java.util.List; public class FragmentAnswers extends FragmentBase { private boolean cards; - private boolean beige; private RecyclerView rvAnswer; private ContentLoadingProgressBar pbWait; @@ -64,7 +62,6 @@ public class FragmentAnswers extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); - beige = prefs.getBoolean("beige", true); } @Override @@ -106,12 +103,7 @@ public class FragmentAnswers extends FragmentBase { }); // Initialize - - if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - + FragmentDialogTheme.setBackground(getContext(), view, false); grpReady.setVisibility(View.GONE); pbWait.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index e1f8a96823..981741daf7 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -965,19 +965,9 @@ public class FragmentCompose extends FragmentBase { // Initialize setHasOptionsMenu(true); + FragmentDialogTheme.setBackground(getContext(), view, true); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); - - boolean cards = prefs.getBoolean("cards", true); - String theme = prefs.getString("theme", null); - if (cards && - (!Helper.isDarkTheme(getContext())) || "solarized".equals(theme)) - view.setBackgroundColor(Helper.resolveColor(getContext(), R.attr.colorCardBackground)); - - //boolean beige = prefs.getBoolean("beige", true); - //if (beige && !Helper.isDarkTheme(getContext())) - // view.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.lightColorBackground_cards_beige)); - boolean keyboard_no_fullscreen = prefs.getBoolean("keyboard_no_fullscreen", false); if (keyboard_no_fullscreen) { // https://developer.android.com/reference/android/view/inputmethod/EditorInfo#IME_FLAG_NO_FULLSCREEN diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogTheme.java b/app/src/main/java/eu/faircode/email/FragmentDialogTheme.java index 7b79ead292..86f19615fe 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogTheme.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogTheme.java @@ -1,6 +1,7 @@ package eu.faircode.email; import android.app.Dialog; +import android.content.Context; import android.content.DialogInterface; import android.content.SharedPreferences; import android.graphics.Paint; @@ -15,6 +16,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.SwitchCompat; +import androidx.core.content.ContextCompat; import androidx.preference.PreferenceManager; public class FragmentDialogTheme extends FragmentDialogBase { @@ -28,19 +30,20 @@ public class FragmentDialogTheme extends FragmentDialogBase { private void eval() { int checkedId = rgTheme.getCheckedRadioButtonId(); boolean grey = (checkedId == R.id.rbThemeGrey); - boolean colored = (grey || + boolean solarized = (checkedId == R.id.rbThemeSolarized); + boolean colored = (grey || solarized || checkedId == R.id.rbThemeBlueOrange || checkedId == R.id.rbThemeRedGreen || checkedId == R.id.rbThemeYellowPurple); int optionId = rgThemeOptions.getCheckedRadioButtonId(); - swReverse.setEnabled(colored && !grey); + swReverse.setEnabled(colored && !grey && !solarized); rgThemeOptions.setEnabled(colored); for (int i = 0; i < rgThemeOptions.getChildCount(); i++) rgThemeOptions.getChildAt(i).setEnabled(colored); - swBlack.setEnabled(colored && !grey && optionId != R.id.rbThemeLight); + swBlack.setEnabled(colored && !grey && !solarized && optionId != R.id.rbThemeLight); tvSystem.setEnabled(colored && optionId == R.id.rbThemeSystem); } @@ -154,6 +157,9 @@ public class FragmentDialogTheme extends FragmentDialogBase { break; case "solarized": + case "solarized_light": + case "solarized_dark": + case "solarized_system": rgTheme.check(R.id.rbThemeSolarized); break; @@ -227,7 +233,11 @@ public class FragmentDialogTheme extends FragmentDialogBase { editor.putString("theme", "grey" + (dark ? "_dark" : "_light")).apply(); } else if (checkedRadioButtonId == R.id.rbThemeSolarized) { - editor.putString("theme", "solarized").apply(); + if (system) + editor.putString("theme", "solarized_system").apply(); + else + editor.putString("theme", + "solarized" + (dark ? "_dark" : "_light")).apply(); } else if (checkedRadioButtonId == R.id.rbThemeBlack) { editor.putString("theme", "black").apply(); } else if (checkedRadioButtonId == R.id.rbThemeBlackAndWhite) { @@ -240,4 +250,23 @@ public class FragmentDialogTheme extends FragmentDialogBase { .setNegativeButton(android.R.string.cancel, null) .create(); } + + static void setBackground(Context context, View view, boolean compose) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean cards = prefs.getBoolean("cards", true); + boolean beige = prefs.getBoolean("beige", true); + String theme = prefs.getString("theme", "blue_orange_system"); + boolean dark = Helper.isDarkTheme(context); + boolean solarized = (theme != null && theme.startsWith("solarized")); + + if (compose) { + if (cards && (!dark || solarized)) + view.setBackgroundColor(Helper.resolveColor(context, R.attr.colorCardBackground)); + } else { + if (cards && !dark && !solarized) + view.setBackgroundColor(ContextCompat.getColor(context, beige + ? R.color.lightColorBackground_cards_beige + : R.color.lightColorBackground_cards)); + } + } } diff --git a/app/src/main/java/eu/faircode/email/FragmentFolders.java b/app/src/main/java/eu/faircode/email/FragmentFolders.java index 5e0cef86db..6a7864417c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolders.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolders.java @@ -49,7 +49,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.constraintlayout.widget.Group; import androidx.core.app.NotificationCompat; -import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.Observer; import androidx.preference.PreferenceManager; @@ -100,7 +99,6 @@ public class FragmentFolders extends FragmentBase { private FloatingActionButton fabError; private boolean cards; - private boolean beige; private boolean compact; private long account; @@ -131,7 +129,6 @@ public class FragmentFolders extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); - beige = prefs.getBoolean("beige", true); compact = prefs.getBoolean("compact_folders", false); show_hidden = false; // prefs.getBoolean("hidden_folders", false); show_flagged = prefs.getBoolean("flagged_folders", false); @@ -271,12 +268,7 @@ public class FragmentFolders extends FragmentBase { }); // Initialize - - if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - + FragmentDialogTheme.setBackground(getContext(), view, false); grpReady.setVisibility(View.GONE); pbWait.setVisibility(View.VISIBLE); fabAdd.hide(); diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentities.java b/app/src/main/java/eu/faircode/email/FragmentIdentities.java index 1edfb90eb2..73469231f9 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentities.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentities.java @@ -31,7 +31,6 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.Observer; import androidx.preference.PreferenceManager; @@ -46,7 +45,6 @@ import java.util.List; public class FragmentIdentities extends FragmentBase { private boolean cards; - private boolean beige; private RecyclerView rvIdentity; private ContentLoadingProgressBar pbWait; @@ -62,7 +60,6 @@ public class FragmentIdentities extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); - beige = prefs.getBoolean("beige", true); } @Override @@ -116,12 +113,7 @@ public class FragmentIdentities extends FragmentBase { }); // Initialize - - if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - + FragmentDialogTheme.setBackground(getContext(), view, false); 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 419258650a..0859496e1a 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -98,7 +98,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.PopupMenu; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.core.content.FileProvider; import androidx.core.graphics.ColorUtils; import androidx.core.view.MenuItemCompat; @@ -288,7 +287,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private OpenPgpServiceConnection pgpService; private boolean cards; - private boolean beige; private boolean date; private boolean date_bold; private boolean threading; @@ -407,7 +405,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. swipenav = prefs.getBoolean("swipenav", true); cards = prefs.getBoolean("cards", true); - beige = prefs.getBoolean("beige", true); date = prefs.getBoolean("date", true); date_bold = prefs.getBoolean("date_bold", false); threading = prefs.getBoolean("threading", true); @@ -1146,12 +1143,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. addKeyPressedListener(onBackPressedListener); // Initialize - - if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - + FragmentDialogTheme.setBackground(getContext(), view, false); tvNoEmail.setVisibility(View.GONE); tvNoEmailHint.setVisibility(View.GONE); sbThread.setVisibility(View.GONE); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java index 55c711a35a..b312563119 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java @@ -48,7 +48,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.SwitchCompat; -import androidx.core.content.ContextCompat; import androidx.lifecycle.Lifecycle; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; @@ -409,12 +408,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } + FragmentDialogTheme.setBackground(getContext(), view, false); PreferenceManager.getDefaultSharedPreferences(getContext()).registerOnSharedPreferenceChangeListener(this); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsConnection.java b/app/src/main/java/eu/faircode/email/FragmentOptionsConnection.java index 29f9e9df9a..c119ec7611 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsConnection.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsConnection.java @@ -52,7 +52,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; import androidx.cardview.widget.CardView; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.lifecycle.Lifecycle; import androidx.preference.PreferenceManager; @@ -257,19 +256,13 @@ public class FragmentOptionsConnection extends FragmentBase implements SharedPre }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } - - PreferenceManager.getDefaultSharedPreferences(getContext()).registerOnSharedPreferenceChangeListener(this); - + FragmentDialogTheme.setBackground(getContext(), view, false); tvNetworkMetered.setVisibility(View.GONE); tvNetworkRoaming.setVisibility(View.GONE); cardDebug.setVisibility(View.GONE); + PreferenceManager.getDefaultSharedPreferences(getContext()).registerOnSharedPreferenceChangeListener(this); + return view; } diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java index f4cd590ae9..dcc86d9eb2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java @@ -49,7 +49,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.Lifecycle; import androidx.preference.PreferenceManager; @@ -875,13 +874,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } - + FragmentDialogTheme.setBackground(getContext(), view, false); grpGravatars.setVisibility(BuildConfig.PLAY_STORE_RELEASE ? View.GONE : View.VISIBLE); PreferenceManager.getDefaultSharedPreferences(getContext()).registerOnSharedPreferenceChangeListener(this); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsEncryption.java b/app/src/main/java/eu/faircode/email/FragmentOptionsEncryption.java index ec35b45ef3..fd43f1b929 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsEncryption.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsEncryption.java @@ -48,7 +48,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.SwitchCompat; -import androidx.core.content.ContextCompat; import androidx.lifecycle.Lifecycle; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; @@ -339,12 +338,7 @@ public class FragmentOptionsEncryption extends FragmentBase implements SharedPre }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } + FragmentDialogTheme.setBackground(getContext(), view, false); try { int maxKeySize = javax.crypto.Cipher.getMaxAllowedKeyLength("AES"); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index 40ccd51190..59d8ca69fa 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -55,7 +55,6 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.SwitchCompat; import androidx.cardview.widget.CardView; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.Observer; import androidx.localbroadcastmanager.content.LocalBroadcastManager; @@ -801,12 +800,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } + FragmentDialogTheme.setBackground(getContext(), view, false); swPowerMenu.setVisibility(!BuildConfig.PLAY_STORE_RELEASE && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java index 1b64e9e7fc..2f75fd27b3 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java @@ -47,7 +47,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.lifecycle.Lifecycle; import androidx.preference.PreferenceManager; @@ -501,12 +500,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } + FragmentDialogTheme.setBackground(getContext(), view, false); swNotifyTransliterate.setVisibility(TextHelper.canTransliterate() ? View.VISIBLE : View.GONE); swUnseenIgnored.setVisibility(Helper.isXiaomi() ? View.GONE : View.VISIBLE); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java b/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java index c12a15f868..24948623db 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java @@ -50,7 +50,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.SwitchCompat; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.lifecycle.Lifecycle; import androidx.preference.PreferenceManager; import androidx.webkit.WebViewFeature; @@ -359,13 +358,7 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } - + FragmentDialogTheme.setBackground(getContext(), view, false); tvClientId.setText(getString(R.string.app_name) + " " + BuildConfig.VERSION_NAME); PreferenceManager.getDefaultSharedPreferences(getContext()).registerOnSharedPreferenceChangeListener(this); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java index db455143fd..739756db8b 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java @@ -42,7 +42,6 @@ import android.widget.Spinner; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; -import androidx.core.content.ContextCompat; import androidx.lifecycle.Lifecycle; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; @@ -444,12 +443,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } + FragmentDialogTheme.setBackground(getContext(), view, false); String re1 = getString(R.string.title_subject_reply, ""); String re2 = getString(R.string.title_subject_reply_alt, ""); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java index 6f44b98dd5..d35431ea87 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java @@ -43,7 +43,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.fragment.app.DialogFragment; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleOwner; @@ -368,12 +367,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } + FragmentDialogTheme.setBackground(getContext(), view, false); DB db = DB.getInstance(getContext()); db.account().liveSynchronizingAccounts().observe(getViewLifecycleOwner(), new Observer>() { diff --git a/app/src/main/java/eu/faircode/email/FragmentRules.java b/app/src/main/java/eu/faircode/email/FragmentRules.java index 013bec4442..60601db41a 100644 --- a/app/src/main/java/eu/faircode/email/FragmentRules.java +++ b/app/src/main/java/eu/faircode/email/FragmentRules.java @@ -39,7 +39,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.SearchView; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.Observer; import androidx.preference.PreferenceManager; @@ -72,7 +71,6 @@ public class FragmentRules extends FragmentBase { private String type; private boolean cards; - private boolean beige; private RecyclerView rvRule; private ContentLoadingProgressBar pbWait; @@ -100,7 +98,6 @@ public class FragmentRules extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); cards = prefs.getBoolean("cards", true); - beige = prefs.getBoolean("beige", true); } @Override @@ -151,11 +148,7 @@ public class FragmentRules extends FragmentBase { // Initialize - if (cards && !Helper.isDarkTheme(getContext())) - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - + FragmentDialogTheme.setBackground(getContext(), view, false); grpReady.setVisibility(View.GONE); pbWait.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index 74260b9041..c6bd22ddb6 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -52,7 +52,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.PopupMenu; import androidx.constraintlayout.widget.Group; -import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.Observer; import androidx.localbroadcastmanager.content.LocalBroadcastManager; @@ -432,13 +431,7 @@ public class FragmentSetup extends FragmentBase { }); // Initialize - if (!Helper.isDarkTheme(getContext())) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); - boolean beige = prefs.getBoolean("beige", true); - view.setBackgroundColor(ContextCompat.getColor(getContext(), beige - ? R.color.lightColorBackground_cards_beige - : R.color.lightColorBackground_cards)); - } + FragmentDialogTheme.setBackground(getContext(), view, false); tvNoInternet.setVisibility(View.GONE); btnIdentity.setEnabled(false); diff --git a/app/src/main/res/drawable/black_background.xml b/app/src/main/res/drawable/background_black.xml similarity index 100% rename from app/src/main/res/drawable/black_background.xml rename to app/src/main/res/drawable/background_black.xml diff --git a/app/src/main/res/drawable/background_white.xml b/app/src/main/res/drawable/background_white.xml new file mode 100644 index 0000000000..297aa2cb12 --- /dev/null +++ b/app/src/main/res/drawable/background_white.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 786d88ac40..7a2c7918f8 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -134,9 +134,10 @@ #c1d5e0 - #073642 - #002b36 - #268bd2 + #073642 + #002b36 + #268bd2 + #fdf6e3 #222 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 4fd5021b6b..a6cfe15d7e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -291,37 +291,37 @@ @@ -336,7 +336,7 @@ @color/white @color/blackPrimary - @drawable/black_background + @drawable/background_black @color/black @@ -393,27 +393,46 @@ @color/white @color/greyPrimary - @drawable/black_background + @drawable/background_black @color/black - + +