mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-23 23:39:14 +00:00
Refresh the key profile list on pref_issuer changes
Looks like 6b56a24c274994135fac95ad03678b4c668d2db3 introduced a regression after all
This commit is contained in:
parent
a66d94a743
commit
094924cd1c
2 changed files with 29 additions and 10 deletions
|
@ -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…
Add table
Reference in a new issue