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; }