mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-24 07:46:07 +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) {
|
private void onPreferencesResult(int resultCode, Intent data) {
|
||||||
if (resultCode != RESULT_OK) {
|
// refresh the entire key profile list if needed
|
||||||
return;
|
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);
|
int action = data.getIntExtra("action", -1);
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case PreferencesActivity.ACTION_EXPORT:
|
case PreferencesActivity.ACTION_EXPORT:
|
||||||
|
// TODO: create a custom layout to show a message AND a checkbox
|
||||||
final boolean[] checked = {true};
|
final boolean[] checked = {true};
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
|
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
|
||||||
.setTitle("Export the database")
|
.setTitle("Export the database")
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package me.impy.aegis;
|
package me.impy.aegis;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -28,13 +27,26 @@ public class PreferencesActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class PreferencesFragment extends PreferenceFragment {
|
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
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
addPreferencesFromResource(R.xml.preferences);
|
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() {
|
nightModePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
@ -47,12 +59,17 @@ public class PreferencesActivity extends AppCompatActivity {
|
||||||
exportPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
exportPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
Intent intent = new Intent();
|
_result.putExtra("action", ACTION_EXPORT);
|
||||||
intent.putExtra("action", ACTION_EXPORT);
|
finish();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Activity activity = getActivity();
|
Preference issuerPreference = findPreference("pref_issuer");
|
||||||
activity.setResult(RESULT_OK, intent);
|
issuerPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||||
activity.finish();
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
_result.putExtra("needsRefresh", true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue