mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-06 00:53:26 +02:00
Added option to set black background
This commit is contained in:
@@ -34,10 +34,18 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
Log.i(Helper.TAG, "Create " + this.getClass().getName() + " version=" + BuildConfig.VERSION_NAME);
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
String theme = (Helper.isPro(this) ? prefs.getString("theme", "light") : "light");
|
||||
setTheme("light".equals(theme) ? R.style.AppThemeLight : R.style.AppThemeDark);
|
||||
if (Helper.isPro(this)) {
|
||||
String theme = prefs.getString("theme", null);
|
||||
if ("dark".equals(theme))
|
||||
setTheme(R.style.AppThemeDark);
|
||||
else if ("black".equals(theme))
|
||||
setTheme(R.style.AppThemeBlack);
|
||||
}
|
||||
|
||||
prefs.registerOnSharedPreferenceChangeListener(this);
|
||||
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@@ -71,7 +79,8 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
||||
Log.i(Helper.TAG, "Preference " + key + "=" + prefs.getAll().get(key));
|
||||
if ("theme".equals(key)) {
|
||||
finish();
|
||||
startActivity(getIntent());
|
||||
if (this.getClass().equals(ActivitySetup.class))
|
||||
startActivity(getIntent());
|
||||
} else if (!this.getClass().equals(ActivitySetup.class) && ("compact".equals(key) || "debug".equals(key)))
|
||||
finish();
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
@@ -93,6 +94,7 @@ public class FragmentSetup extends FragmentEx {
|
||||
private Button btnNotifications;
|
||||
|
||||
private ToggleButton tbDarkTheme;
|
||||
private CheckBox cbBlackTheme;
|
||||
|
||||
private Button btnOptions;
|
||||
|
||||
@@ -144,6 +146,7 @@ public class FragmentSetup extends FragmentEx {
|
||||
btnData = view.findViewById(R.id.btnData);
|
||||
|
||||
tbDarkTheme = view.findViewById(R.id.tbDarkTheme);
|
||||
cbBlackTheme = view.findViewById(R.id.cbBlackTheme);
|
||||
btnOptions = view.findViewById(R.id.btnOptions);
|
||||
|
||||
// Wire controls
|
||||
@@ -226,9 +229,9 @@ public class FragmentSetup extends FragmentEx {
|
||||
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
|
||||
String theme = prefs.getString("theme", "light");
|
||||
boolean dark = "dark".equals(theme);
|
||||
tbDarkTheme.setTag(dark);
|
||||
tbDarkTheme.setChecked(dark);
|
||||
boolean light = "light".equals(theme);
|
||||
tbDarkTheme.setTag(!light);
|
||||
tbDarkTheme.setChecked(!light);
|
||||
tbDarkTheme.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton button, boolean checked) {
|
||||
@@ -247,9 +250,19 @@ public class FragmentSetup extends FragmentEx {
|
||||
fragmentTransaction.commit();
|
||||
}
|
||||
}
|
||||
cbBlackTheme.setVisibility(tbDarkTheme.isChecked() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
});
|
||||
|
||||
cbBlackTheme.setChecked("black".equals(theme));
|
||||
cbBlackTheme.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean checked) {
|
||||
prefs.edit().putString("theme", checked ? "black" : "dark").apply();
|
||||
}
|
||||
});
|
||||
cbBlackTheme.setVisibility(tbDarkTheme.isChecked() ? View.VISIBLE : View.GONE);
|
||||
|
||||
btnOptions.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
Reference in New Issue
Block a user