aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/UserPreference.java')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/UserPreference.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
index fbdc7d3d..00e71ae8 100644
--- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
+++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
@@ -110,10 +110,24 @@ public class UserPreference extends AppCompatActivity {
return false;
});
- findPreference("pref_select_external").setOnPreferenceClickListener((Preference pref) -> {
+ final Preference externalRepo = findPreference("pref_select_external");
+ externalRepo.setSummary(getPreferenceManager().getSharedPreferences().getString("git_external_repo", "No external repository selected"));
+ externalRepo.setOnPreferenceClickListener((Preference pref) -> {
callingActivity.selectExternalGitRepository();
return true;
});
+
+ Preference.OnPreferenceChangeListener resetRepo = new Preference.OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object o) {
+ PasswordRepository.closeRepository();
+ getPreferenceManager().getSharedPreferences().edit().putBoolean("repo_changed", true).apply();
+ return true;
+ }
+ };
+
+ findPreference("pref_select_external").setOnPreferenceChangeListener(resetRepo);
+ findPreference("git_external").setOnPreferenceChangeListener(resetRepo);
}
}