diff --git a/app/res/values/strings.xml b/app/res/values/strings.xml
index d7cffbd00..7184e7988 100644
--- a/app/res/values/strings.xml
+++ b/app/res/values/strings.xml
@@ -278,7 +278,8 @@
There are no transactions available to export
Passcode
Passcode Preferences
- Turn On/Off Passcode
+ Passcode Turned On
+ Passcode Turned Off
Change Passcode
About GnuCash
Gnucash is a mobile finance expense tracker application for Android.\n
diff --git a/app/res/xml/fragment_passcode_preferences.xml b/app/res/xml/fragment_passcode_preferences.xml
index 027aa0884..e81d9a1d7 100755
--- a/app/res/xml/fragment_passcode_preferences.xml
+++ b/app/res/xml/fragment_passcode_preferences.xml
@@ -17,8 +17,7 @@
-
+
diff --git a/app/src/org/gnucash/android/ui/settings/PasscodePreferenceFragment.java b/app/src/org/gnucash/android/ui/settings/PasscodePreferenceFragment.java
index 52744e07c..e4ccc7dbc 100644
--- a/app/src/org/gnucash/android/ui/settings/PasscodePreferenceFragment.java
+++ b/app/src/org/gnucash/android/ui/settings/PasscodePreferenceFragment.java
@@ -67,11 +67,16 @@ public void onResume() {
final Intent intent = new Intent(getActivity(), PasscodePreferenceActivity.class);
checkBoxPreference = (CheckBoxPreference) findPreference(getString(R.string.key_enable_passcode));
+ final String passcodeEnabled = getString(R.string.title_passcode_enabled);
+ final String passcodeDisabled = getString(R.string.title_passcode_disabled);
+ checkBoxPreference.setTitle(checkBoxPreference.isChecked() ? passcodeEnabled : passcodeDisabled);
checkBoxPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if ((Boolean) newValue) {
startActivityForResult(intent, PASSCODE_REQUEST_CODE);
+ } else {
+ checkBoxPreference.setTitle(passcodeDisabled);
}
editor.putBoolean(UxArgument.ENABLED_PASSCODE, (Boolean) newValue);
editor.commit();
@@ -95,6 +100,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK && requestCode == PASSCODE_REQUEST_CODE && data!= null) {
editor.putString(UxArgument.PASSCODE, data.getStringExtra(UxArgument.PASSCODE));
Toast.makeText(getActivity(), R.string.toast_passcode_set, Toast.LENGTH_SHORT).show();
+ checkBoxPreference.setTitle(getString(R.string.title_passcode_enabled));
} else {
editor.putBoolean(UxArgument.ENABLED_PASSCODE, false);
checkBoxPreference.setChecked(false);
diff --git a/app/src/org/gnucash/android/ui/settings/SettingsActivity.java b/app/src/org/gnucash/android/ui/settings/SettingsActivity.java
index 596d71df6..2749caec0 100644
--- a/app/src/org/gnucash/android/ui/settings/SettingsActivity.java
+++ b/app/src/org/gnucash/android/ui/settings/SettingsActivity.java
@@ -149,7 +149,9 @@ protected void onCreate(Bundle savedInstanceState) {
pref = findPreference(getString(R.string.key_enable_passcode));
pref.setOnPreferenceChangeListener(this);
- }
+ pref.setTitle(((CheckBoxPreference) pref).isChecked() ?
+ getString(R.string.title_passcode_enabled) : getString(R.string.title_passcode_disabled));
+ }
}
@Override
@@ -195,6 +197,8 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
if ((Boolean) newValue) {
startActivityForResult(new Intent(this, PasscodePreferenceActivity.class),
PasscodePreferenceFragment.PASSCODE_REQUEST_CODE);
+ } else {
+ preference.setTitle(getString(R.string.title_passcode_disabled));
}
PreferenceManager.getDefaultSharedPreferences(getApplicationContext())
.edit()
@@ -357,6 +361,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
.putString(UxArgument.PASSCODE, data.getStringExtra(UxArgument.PASSCODE))
.commit();
Toast.makeText(getApplicationContext(), R.string.toast_passcode_set, Toast.LENGTH_SHORT).show();
+ findPreference(getString(R.string.key_enable_passcode)).setTitle(getString(R.string.title_passcode_enabled));
}
break;
}