diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java
index 16f5cadbb8..6e8cbf24d3 100644
--- a/app/src/main/java/eu/faircode/email/ActivityBase.java
+++ b/app/src/main/java/eu/faircode/email/ActivityBase.java
@@ -78,8 +78,10 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
setTheme(R.style.AppThemeDark);
else if ("black".equals(theme))
setTheme(R.style.AppThemeBlack);
- else if ("grey".equals(theme))
- setTheme(R.style.AppThemeGrey);
+ else if ("grey_light".equals(theme))
+ setTheme(R.style.AppThemeGreyLight);
+ else if ("grey_dark".equals(theme))
+ setTheme(R.style.AppThemeGreyDark);
else if ("system".equals(theme)) {
int uiMode = getResources().getConfiguration().uiMode;
Log.i("UI mode=" + uiMode);
diff --git a/app/src/main/java/eu/faircode/email/ApplicationEx.java b/app/src/main/java/eu/faircode/email/ApplicationEx.java
index f5457b067d..25e0e20a40 100644
--- a/app/src/main/java/eu/faircode/email/ApplicationEx.java
+++ b/app/src/main/java/eu/faircode/email/ApplicationEx.java
@@ -130,9 +130,15 @@ public class ApplicationEx extends Application {
if (prefs.getBoolean("autonext", false))
editor.putString("onclose", "next");
editor.remove("autonext");
+
} else if (version < 693) {
editor.remove("message_swipe");
editor.remove("message_select");
+
+ } else if (version < 696) {
+ String theme = prefs.getString("theme", "light");
+ if ("grey".equals(theme))
+ editor.putString("theme", "grey_dark");
}
if (BuildConfig.DEBUG && false) {
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
index a47805f990..0f4c396488 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
@@ -392,8 +392,11 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
case "black":
rgTheme.check(R.id.rbThemeBlack);
break;
- case "grey":
- rgTheme.check(R.id.rbThemeGrey);
+ case "grey_light":
+ rgTheme.check(R.id.rbThemeGreyLight);
+ break;
+ case "grey_dark":
+ rgTheme.check(R.id.rbThemeGreyDark);
break;
case "system":
rgTheme.check(R.id.rbThemeSystem);
@@ -417,8 +420,11 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
case R.id.rbThemeBlack:
prefs.edit().putString("theme", "black").apply();
break;
- case R.id.rbThemeGrey:
- prefs.edit().putString("theme", "grey").apply();
+ case R.id.rbThemeGreyLight:
+ prefs.edit().putString("theme", "grey_light").apply();
+ break;
+ case R.id.rbThemeGreyDark:
+ prefs.edit().putString("theme", "grey_dark").apply();
break;
case R.id.rbThemeSystem:
prefs.edit().putString("theme", "system").apply();
diff --git a/app/src/main/res/layout/dialog_theme.xml b/app/src/main/res/layout/dialog_theme.xml
index b5c7a55aaf..953770d503 100644
--- a/app/src/main/res/layout/dialog_theme.xml
+++ b/app/src/main/res/layout/dialog_theme.xml
@@ -40,12 +40,21 @@
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
+
+
Light theme
Dark theme
Black theme
- Grey theme
+ Grey light theme
+ Grey dark theme
System theme
Advanced
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 261e6fe55d..baf586cebe 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -81,7 +81,16 @@
- @android:color/black
-
+
+