diff --git a/README.md b/README.md index 3900e5f6..9195a3a3 100644 --- a/README.md +++ b/README.md @@ -26,12 +26,12 @@ Features * Two way synchronization * Offline storage and operations * Material design -* Dark theme Pro features ------------ * Signatures +* Dark theme * Account colors * Standard replies * Sort on time, unread or starred diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 0c148b23..2b4a54f5 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -35,7 +35,8 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc protected void onCreate(Bundle savedInstanceState) { Log.i(Helper.TAG, "Create " + this.getClass().getName() + " version=" + BuildConfig.VERSION_NAME); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - String theme = prefs.getString("theme", "light"); + boolean pro = prefs.getBoolean("pro", false); + String theme = (pro ? prefs.getString("theme", "light") : "light"); setTheme("light".equals(theme) ? R.style.AppThemeLight : R.style.AppThemeDark); PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this); super.onCreate(savedInstanceState); diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index 0eaf687c..8f9542d4 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -203,10 +203,16 @@ public class FragmentSetup extends FragmentEx { tbDarkTheme.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton button, boolean checked) { - if (checked != (Boolean) button.getTag()) { - button.setTag(checked); - tbDarkTheme.setChecked(checked); - prefs.edit().putString("theme", checked ? "dark" : "light").apply(); + if (prefs.getBoolean("pro", false)) { + if (checked != (Boolean) button.getTag()) { + button.setTag(checked); + tbDarkTheme.setChecked(checked); + prefs.edit().putString("theme", checked ? "dark" : "light").apply(); + } + } else { + FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); + fragmentTransaction.replace(R.id.content_frame, new FragmentPro()).addToBackStack("pro"); + fragmentTransaction.commit(); } } });