Refresh the key profile list on pref_issuer changes

Looks like 6b56a24c274994135fac95ad03678b4c668d2db3 introduced a regression after all
pull/41/head
Alexander Bakker 7 years ago
parent a66d94a743
commit 094924cd1c

@ -147,14 +147,16 @@ public class MainActivity extends AppCompatActivity implements KeyProfileAdapter
}
private void onPreferencesResult(int resultCode, Intent data) {
if (resultCode != RESULT_OK) {
return;
// refresh the entire key profile list if needed
if (data.getBooleanExtra("needsRefresh", false)) {
_keyProfileAdapter.notifyDataSetChanged();
}
// TODO: create a custom layout to show a message AND a checkbox
// perform any pending actions
int action = data.getIntExtra("action", -1);
switch (action) {
case PreferencesActivity.ACTION_EXPORT:
// TODO: create a custom layout to show a message AND a checkbox
final boolean[] checked = {true};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
.setTitle("Export the database")

@ -1,6 +1,5 @@
package me.impy.aegis;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
@ -28,13 +27,26 @@ public class PreferencesActivity extends AppCompatActivity {
}
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();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
final Preference nightModePreference = findPreference("pref_night_mode");
// set the result intent in advance
setResult();
Preference nightModePreference = findPreference("pref_night_mode");
nightModePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@ -47,12 +59,17 @@ public class PreferencesActivity extends AppCompatActivity {
exportPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent intent = new Intent();
intent.putExtra("action", ACTION_EXPORT);
_result.putExtra("action", ACTION_EXPORT);
finish();
return true;
}
});
Activity activity = getActivity();
activity.setResult(RESULT_OK, intent);
activity.finish();
Preference issuerPreference = findPreference("pref_issuer");
issuerPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
_result.putExtra("needsRefresh", true);
return true;
}
});

Loading…
Cancel
Save