2016-09-30 01:07:56 +02:00
|
|
|
package me.impy.aegis;
|
|
|
|
|
2017-12-10 19:19:48 +01:00
|
|
|
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 {
|
2017-12-10 19:19:48 +01:00
|
|
|
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 {
|
2017-12-12 21:55:34 +01:00
|
|
|
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);
|
|
|
|
|
2017-12-12 21:55:34 +01:00
|
|
|
// 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
|
|
|
}
|
|
|
|
});
|
2017-12-10 19:19:48 +01:00
|
|
|
|
|
|
|
Preference exportPreference = findPreference("pref_export");
|
|
|
|
exportPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
|
|
|
@Override
|
|
|
|
public boolean onPreferenceClick(Preference preference) {
|
2017-12-12 21:55:34 +01:00
|
|
|
_result.putExtra("action", ACTION_EXPORT);
|
|
|
|
finish();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
});
|
2017-12-10 19:19:48 +01:00
|
|
|
|
2017-12-12 21:55:34 +01:00
|
|
|
Preference issuerPreference = findPreference("pref_issuer");
|
|
|
|
issuerPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
|
|
|
@Override
|
|
|
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
|
|
_result.putExtra("needsRefresh", true);
|
2017-12-10 19:19:48 +01:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
});
|
2016-09-30 01:07:56 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|