From 85b4554317845d84981f9c716b31c90cbb3d4ffc Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 27 Dec 2019 18:51:00 +0100 Subject: [PATCH] Added reverse themes --- .../java/eu/faircode/email/ActivityBase.java | 28 ++++- .../email/FragmentOptionsDisplay.java | 29 +++-- app/src/main/res/layout/dialog_theme.xml | 3 +- app/src/main/res/values/colors.xml | 68 +++++++--- app/src/main/res/values/strings.xml | 2 +- app/src/main/res/values/styles.xml | 116 ++++++++++++++++-- 6 files changed, 201 insertions(+), 45 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 4e0cca7df1..de85f23061 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -91,30 +91,52 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc case "blue_orange_light": setTheme(R.style.AppThemeBlueOrangeLight); break; + case "orange_blue_light": + setTheme(R.style.AppThemeOrangeBlueLight); + break; + case "yellow_purple_light": setTheme(R.style.AppThemeYellowPurpleLight); break; + case "purple_yellow_light": + setTheme(R.style.AppThemePurpleYellowLight); + break; + case "red_green_light": setTheme(R.style.AppThemeRedGreenLight); break; - case "grey_light": - setTheme(R.style.AppThemeGreySteelBlueLight); + case "green_red_light": + setTheme(R.style.AppThemeGreenRedLight); break; case "dark": case "blue_orange_dark": setTheme(R.style.AppThemeBlueOrangeDark); break; + case "orange_blue_dark": + setTheme(R.style.AppThemeOrangeBlueDark); + break; + case "yellow_purple_dark": setTheme(R.style.AppThemeYellowPurpleDark); break; + case "purple_yellow_dark": + setTheme(R.style.AppThemePurpleYellowDark); + break; + case "red_green_dark": setTheme(R.style.AppThemeRedGreenDark); break; + case "green_red_dark": + setTheme(R.style.AppThemeGreenRedDark); + break; + + case "grey_light": + setTheme(R.style.AppThemeGreySteelBlueLight); + break; case "grey_dark": setTheme(R.style.AppThemeGreySteelBlueDark); break; - case "black": setTheme(R.style.AppThemeBlack); break; diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java index 2372b0f462..ad9a95d0f8 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java @@ -670,6 +670,9 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); String theme = prefs.getString("theme", "light"); + swReverse.setChecked(theme.startsWith("orange_blue") || + theme.startsWith("purple_yellow") || + theme.startsWith("green_red")); swDark.setChecked(theme.endsWith("dark")); swSystem.setChecked(theme.endsWith("system")); @@ -694,14 +697,20 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer case "system": case "blue_orange_light": case "blue_orange_dark": + case "orange_blue_light": + case "orange_blue_dark": rgTheme.check(R.id.rbThemeBlueOrange); break; case "yellow_purple_light": case "yellow_purple_dark": + case "purple_yellow_light": + case "purple_yellow_dark": rgTheme.check(R.id.rbThemeYellowPurple); break; case "red_green_light": case "red_green_dark": + case "green_red_light": + case "green_red_dark": rgTheme.check(R.id.rbThemeRedGreen); break; case "grey_system": @@ -727,22 +736,20 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer case R.id.rbThemeBlueOrange: if (swSystem.isChecked()) prefs.edit().putString("theme", "system").apply(); - else if (swDark.isChecked()) - prefs.edit().putString("theme", "blue_orange_dark").apply(); else - prefs.edit().putString("theme", "blue_orange_light").apply(); + prefs.edit().putString("theme", + (swReverse.isChecked() ? "orange_blue" : "blue_orange") + + (swDark.isChecked() ? "_dark" : "_light")).apply(); break; case R.id.rbThemeYellowPurple: - if (swDark.isChecked()) - prefs.edit().putString("theme", "yellow_purple_dark").apply(); - else - prefs.edit().putString("theme", "yellow_purple_light").apply(); + prefs.edit().putString("theme", + (swReverse.isChecked() ? "purple_yellow" : "yellow_purple") + + (swDark.isChecked() ? "_dark" : "_light")).apply(); break; case R.id.rbThemeRedGreen: - if (swDark.isChecked()) - prefs.edit().putString("theme", "red_green_dark").apply(); - else - prefs.edit().putString("theme", "red_green_light").apply(); + prefs.edit().putString("theme", + (swReverse.isChecked() ? "green_red" : "red_green") + + (swDark.isChecked() ? "_dark" : "_light")).apply(); break; case R.id.rbThemeGrey: if (swSystem.isChecked()) diff --git a/app/src/main/res/layout/dialog_theme.xml b/app/src/main/res/layout/dialog_theme.xml index cabb4e0adf..a601d584e8 100644 --- a/app/src/main/res/layout/dialog_theme.xml +++ b/app/src/main/res/layout/dialog_theme.xml @@ -33,7 +33,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="6dp" - android:text="@string/title_setup_theme_blue_amber" + android:text="@string/title_setup_theme_blue_orange" android:textAppearance="@style/TextAppearance.AppCompat.Medium" /> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 9cd29a0a7b..99c4cf28c5 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -13,17 +13,6 @@ #ff00ff00 #ff00e000 - - #424242 - #1b1b1b - #6d6d6d - - - #424242 - #1b1b1b - #90a4ae - #62757f - #fff #7f000000 #ddd @@ -63,30 +52,71 @@ #ffb300 #c68400 - - #01579b - #002f6c + + #ffb300 + #c68400 + #039be5 - + #fdd835 #c6a700 #8e24aa - - #f57f17 - #bc5100 - #ba68c8 + + #8e24aa + #5c007a + #f9a825 #e53935 #ab000d #43a047 + + #43a047 + #00701a + #e53935 + + + #01579b + #002f6c + #ffb300 + + + #ff6f00 + #c43e00 + #4fc3f7 + + + #f57f17 + #bc5100 + #ba68c8 + + + #4a148c + #12005e + #fff176 + #b71c1c #7f0000 #81c784 + + #1b5e20 + #003300 + #e57373 + + + #424242 + #1b1b1b + + + #424242 + #1b1b1b + #90a4ae + #62757f + #222 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1b28dea69b..4ddaf2016d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -201,7 +201,7 @@ Select theme - Blue/orange + Blue/orange Yellow/purple Red/green Grey diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 8acb3cc44d..586b544831 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -97,6 +97,8 @@ @drawable/scroll_track + + + + + + + + + + + + + + + + + +