diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 28eae01595..dd6cac9ea1 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -178,6 +178,11 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc setTheme(R.style.AppThemeGreySteelBlueDark); break; + // Solarized + case "solarized": + setTheme(R.style.AppThemeSolarized); + break; + // Black case "black": setTheme(R.style.AppThemeBlack); diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 9cbaceb944..e1f8a96823 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -969,7 +969,9 @@ public class FragmentCompose extends FragmentBase { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); boolean cards = prefs.getBoolean("cards", true); - if (cards && !Helper.isDarkTheme(getContext())) + 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); diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogTheme.java b/app/src/main/java/eu/faircode/email/FragmentDialogTheme.java index 74daf03fd8..7b79ead292 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogTheme.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogTheme.java @@ -146,12 +146,17 @@ public class FragmentDialogTheme extends FragmentDialogBase { case "purple_yellow_black": rgTheme.check(R.id.rbThemeYellowPurple); break; + case "grey_system": case "grey_light": case "grey_dark": rgTheme.check(R.id.rbThemeGrey); break; + case "solarized": + rgTheme.check(R.id.rbThemeSolarized); + break; + case "black": rgTheme.check(R.id.rbThemeBlack); break; @@ -221,6 +226,8 @@ public class FragmentDialogTheme extends FragmentDialogBase { else editor.putString("theme", "grey" + (dark ? "_dark" : "_light")).apply(); + } else if (checkedRadioButtonId == R.id.rbThemeSolarized) { + editor.putString("theme", "solarized").apply(); } else if (checkedRadioButtonId == R.id.rbThemeBlack) { editor.putString("theme", "black").apply(); } else if (checkedRadioButtonId == R.id.rbThemeBlackAndWhite) { diff --git a/app/src/main/res/layout/dialog_theme.xml b/app/src/main/res/layout/dialog_theme.xml index d7d524cff2..47cc819f03 100644 --- a/app/src/main/res/layout/dialog_theme.xml +++ b/app/src/main/res/layout/dialog_theme.xml @@ -62,6 +62,14 @@ android:text="@string/title_setup_theme_grey" android:textAppearance="@style/TextAppearance.AppCompat.Medium" /> + + #62757f #c1d5e0 + + #073642 + #002b36 + #268bd2 + #222 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1fa59763c4..9666ac6803 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -258,6 +258,7 @@ Grey Black Black and white + Solarized Swap colors Light diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 438951bb4d..4fd5021b6b 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -397,6 +397,26 @@ @color/black + +