57 lines
2.1 KiB
Java
57 lines
2.1 KiB
Java
package com.github.gotify.settings;
|
|
|
|
import android.content.SharedPreferences;
|
|
import android.os.Bundle;
|
|
import android.view.MenuItem;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.appcompat.app.ActionBar;
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
import androidx.preference.PreferenceFragmentCompat;
|
|
import androidx.preference.PreferenceManager;
|
|
import com.github.gotify.R;
|
|
|
|
public class SettingsActivity extends AppCompatActivity
|
|
implements SharedPreferences.OnSharedPreferenceChangeListener {
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
setContentView(R.layout.settings_activity);
|
|
getSupportFragmentManager()
|
|
.beginTransaction()
|
|
.replace(R.id.settings, new SettingsFragment())
|
|
.commit();
|
|
setSupportActionBar(findViewById(R.id.toolbar));
|
|
ActionBar actionBar = getSupportActionBar();
|
|
if (actionBar != null) {
|
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
|
actionBar.setDisplayShowCustomEnabled(true);
|
|
}
|
|
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
|
sharedPreferences.registerOnSharedPreferenceChangeListener(this);
|
|
}
|
|
|
|
@Override
|
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
|
if (item.getItemId() == android.R.id.home) {
|
|
finish();
|
|
}
|
|
return super.onOptionsItemSelected(item);
|
|
}
|
|
|
|
@Override
|
|
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
|
if (getString(R.string.setting_key_theme).equals(key)) {
|
|
ThemeHelper.setTheme(
|
|
this, sharedPreferences.getString(key, getString(R.string.theme_default)));
|
|
}
|
|
}
|
|
|
|
public static class SettingsFragment extends PreferenceFragmentCompat {
|
|
@Override
|
|
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
|
setPreferencesFromResource(R.xml.root_preferences, rootKey);
|
|
}
|
|
}
|
|
}
|