X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2FPreferencesActivity.java;h=04e1441045662f73a6951ea44d029601c67f4df9;hb=3e495a1b7f96cb3994694b49f255c8d67cbe2f20;hp=9a37e78f3f9a79212e48067c973e0a6a0ecabba9;hpb=d78dcfa216d199cb91e1066e6e1e17fcfb06f576;p=zxing.git diff --git a/android/src/com/google/zxing/client/android/PreferencesActivity.java b/android/src/com/google/zxing/client/android/PreferencesActivity.java index 9a37e78f..04e14410 100755 --- a/android/src/com/google/zxing/client/android/PreferencesActivity.java +++ b/android/src/com/google/zxing/client/android/PreferencesActivity.java @@ -56,16 +56,26 @@ public final class PreferencesActivity extends PreferenceActivity preferences.getSharedPreferences().registerOnSharedPreferenceChangeListener(this); decode1D = (CheckBoxPreference) preferences.findPreference(KEY_DECODE_1D); decodeQR = (CheckBoxPreference) preferences.findPreference(KEY_DECODE_QR); + disableLastCheckedPref(); } - // Prevent the user from turning off both decode options public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - if (key.equals(KEY_DECODE_1D)) { - decodeQR.setEnabled(decode1D.isChecked()); + disableLastCheckedPref(); + } + + private void disableLastCheckedPref() { + if (decode1D.isChecked()) { + decodeQR.setEnabled(true); + } else { + decodeQR.setEnabled(false); decodeQR.setChecked(true); - } else if (key.equals(KEY_DECODE_QR)) { - decode1D.setEnabled(decodeQR.isChecked()); + } + if (decodeQR.isChecked()) { + decode1D.setEnabled(true); + } else { + decode1D.setEnabled(false); decode1D.setChecked(true); } } + }