Added option to set black background

This commit is contained in:
M66B
2018-11-03 10:53:37 +00:00
parent 9e0570e694
commit 360c2b68d0
6 changed files with 45 additions and 8 deletions

View File

@@ -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();
}

View File

@@ -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) {