Back to project page ivotingverification.
The source code is released under:
GNU General Public License
If you think the Android project ivotingverification listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/** * Copyright (C) 2013 Eesti Vabariigi Valimiskomisjon * (Estonian National Electoral Committee), www.vvk.ee *//w ww . ja va2s . c o m * Written in 2013 by AS Finestmedia, www.finestmedia.ee * * Vote-verification application for Estonian Internet voting system * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * This file incorporates work covered by the following copyright and * permission notice: * * Copyright (C) 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. **/ package ee.vvk.ivotingverification.qr; import java.util.ArrayList; import java.util.Collection; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; /** * The main settings activity. * * @author dswitkin@google.com (Daniel Switkin) */ public final class PreferencesActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener { public static final String KEY_DECODE_1D = "preferences_decode_1D"; public static final String KEY_DECODE_QR = "preferences_decode_QR"; public static final String KEY_DECODE_DATA_MATRIX = "preferences_decode_Data_Matrix"; public static final String KEY_CUSTOM_PRODUCT_SEARCH = "preferences_custom_product_search"; public static final String KEY_REVERSE_IMAGE = "preferences_reverse_image"; public static final String KEY_PLAY_BEEP = "preferences_play_beep"; public static final String KEY_VIBRATE = "preferences_vibrate"; public static final String KEY_COPY_TO_CLIPBOARD = "preferences_copy_to_clipboard"; public static final String KEY_FRONT_LIGHT = "preferences_front_light"; public static final String KEY_BULK_MODE = "preferences_bulk_mode"; public static final String KEY_REMEMBER_DUPLICATES = "preferences_remember_duplicates"; public static final String KEY_SUPPLEMENTAL = "preferences_supplemental"; public static final String KEY_SEARCH_COUNTRY = "preferences_search_country"; public static final String KEY_HELP_VERSION_SHOWN = "preferences_help_version_shown"; private CheckBoxPreference decode1D; private CheckBoxPreference decodeQR; private CheckBoxPreference decodeDataMatrix; @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); PreferenceScreen preferences = getPreferenceScreen(); preferences.getSharedPreferences() .registerOnSharedPreferenceChangeListener(this); decode1D = (CheckBoxPreference) preferences .findPreference(KEY_DECODE_1D); decodeQR = (CheckBoxPreference) preferences .findPreference(KEY_DECODE_QR); decodeDataMatrix = (CheckBoxPreference) preferences .findPreference(KEY_DECODE_DATA_MATRIX); disableLastCheckedPref(); } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { disableLastCheckedPref(); } private void disableLastCheckedPref() { Collection<CheckBoxPreference> checked = new ArrayList<CheckBoxPreference>( 3); if (decode1D.isChecked()) { checked.add(decode1D); } if (decodeQR.isChecked()) { checked.add(decodeQR); } if (decodeDataMatrix.isChecked()) { checked.add(decodeDataMatrix); } boolean disable = checked.size() < 2; CheckBoxPreference[] checkBoxPreferences = { decode1D, decodeQR, decodeDataMatrix }; for (CheckBoxPreference pref : checkBoxPreferences) { pref.setEnabled(!(disable && checked.contains(pref))); } } }