Aegis/app/src/main/java/me/impy/aegis/PreferencesActivity.java

79 lines
2.7 KiB
Java
Raw Normal View History

2016-09-30 01:07:56 +02:00
package me.impy.aegis;
import android.content.Intent;
2016-09-30 01:07:56 +02:00
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.support.v7.app.AppCompatActivity;
2016-09-30 01:17:37 +02:00
import android.widget.Toast;
2016-09-30 01:07:56 +02:00
2017-12-24 21:42:08 +01:00
public class PreferencesActivity extends AegisActivity {
public static final int ACTION_EXPORT = 0;
2016-09-30 01:07:56 +02:00
@Override
2017-12-24 21:42:08 +01:00
protected void onCreate(Bundle savedInstanceState) {
2016-09-30 01:07:56 +02:00
super.onCreate(savedInstanceState);
2017-08-26 21:15:53 +02:00
2017-12-24 21:42:08 +01:00
getFragmentManager().beginTransaction().replace(android.R.id.content, new PreferencesFragment()).commit();
}
@Override
protected void setPreferredTheme(boolean nightMode) {
if (nightMode) {
2016-09-30 01:07:56 +02:00
setTheme(R.style.AppTheme_Dark);
2017-08-26 21:15:53 +02:00
} else {
2016-09-30 01:07:56 +02:00
setTheme(R.style.AppTheme_Default);
}
}
2017-08-26 21:15:53 +02:00
2016-09-30 01:07:56 +02:00
public static class PreferencesFragment extends PreferenceFragment {
private Intent _result = new Intent();
private void setResult() {
getActivity().setResult(RESULT_OK, _result);
}
private void finish() {
setResult();
getActivity().finish();
}
2016-09-30 01:07:56 +02:00
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
// set the result intent in advance
setResult();
Preference nightModePreference = findPreference("pref_night_mode");
2016-09-30 01:17:37 +02:00
nightModePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
2016-09-30 01:07:56 +02:00
@Override
2016-09-30 01:17:37 +02:00
public boolean onPreferenceChange(Preference preference, Object newValue) {
Toast.makeText(getActivity(), "Night mode will be enabled after closing this screen", Toast.LENGTH_SHORT).show();
return true;
2016-09-30 01:07:56 +02:00
}
});
Preference exportPreference = findPreference("pref_export");
exportPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
_result.putExtra("action", ACTION_EXPORT);
finish();
return true;
}
});
Preference issuerPreference = findPreference("pref_issuer");
issuerPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
_result.putExtra("needsRefresh", true);
return true;
}
});
2016-09-30 01:07:56 +02:00
}
}
}