@Override public boolean onPreferenceChange(Preference preference, Object newValue) { String prefName = preference.getKey(); if (prefName != null && prefName.equals("privacy.masterpassword.enabled")) { showDialog( (Boolean) newValue ? DIALOG_CREATE_MASTER_PASSWORD : DIALOG_REMOVE_MASTER_PASSWORD); return false; } else if (prefName != null && prefName.equals("browser.menu.showCharacterEncoding")) { setCharEncodingState(((String) newValue).equals("true")); } setPreference(prefName, newValue); if (preference instanceof ListPreference) { // We need to find the entry for the new value int newIndex = ((ListPreference) preference).findIndexOfValue((String) newValue); CharSequence newEntry = ((ListPreference) preference).getEntries()[newIndex]; ((ListPreference) preference).setSummary(newEntry); } else if (preference instanceof LinkPreference) { finish(); } else if (preference instanceof FontSizePreference) { final FontSizePreference fontSizePref = (FontSizePreference) preference; fontSizePref.setSummary(fontSizePref.getSavedFontSizeName()); } return true; }
@Override protected void onResume() { super.onResume(); sharedPreferences.registerOnSharedPreferenceChangeListener(this); hostPref.setSummary(sharedPreferences.getString("host", "")); portPref.setSummary(sharedPreferences.getString("port", "8001")); textSizePref.setSummary(sharedPreferences.getString("text_size", "10")); updateBufferFontSummary(); timestampformatPref.setSummary(sharedPreferences.getString("timestamp_format", "HH:mm:ss")); stunnelCert.setSummary(sharedPreferences.getString("stunnel_cert", "Not Set")); sshHostPref.setSummary(sharedPreferences.getString("ssh_host", "")); sshUserPref.setSummary(sharedPreferences.getString("ssh_user", "")); sshPortPref.setSummary(sharedPreferences.getString("ssh_port", "22")); sshKeyFilePref.setSummary(sharedPreferences.getString("ssh_keyfile", "Not Set")); prefixPref.setSummary(prefixPref.getEntry()); connectionTypePref.setSummary(connectionTypePref.getEntry()); if (pingEnabledPref.isChecked()) { pingPreferences.setSummary("Enabled"); } else { pingPreferences.setSummary("Disabled"); } String tmp; tmp = sharedPreferences.getString("password", null); if (tmp == null || tmp.equals("")) { passPref.setSummary("None Set"); } else { passPref.setSummary("******"); } tmp = sharedPreferences.getString("stunnel_pass", null); if (tmp == null || tmp.equals("")) { stunnelPass.setSummary("None Set"); } else { stunnelPass.setSummary("******"); } tmp = sharedPreferences.getString("ssh_pass", null); if (tmp == null || tmp.equals("")) { sshPassPref.setSummary("None Set"); } else { sshPassPref.setSummary("******"); } }
/** Create the "Key Signature" preference */ private void createKeySignaturePrefs(PreferenceScreen root) { key = new ListPreference(this); key.setOnPreferenceChangeListener(this); key.setTitle(R.string.key_signature); key.setEntries(R.array.key_signature_entries); key.setEntryValues(R.array.key_signature_values); key.setValueIndex(options.key + 1); key.setSummary(key.getEntry()); root.addPreference(key); }
/** Create the "Show Note Letters" preference */ private void createShowLetterPrefs(PreferenceScreen root) { showNoteLetters = new ListPreference(this); showNoteLetters.setOnPreferenceChangeListener(this); showNoteLetters.setTitle(R.string.show_note_letters); showNoteLetters.setEntries(R.array.show_note_letter_entries); showNoteLetters.setEntryValues(R.array.show_note_letter_values); showNoteLetters.setValueIndex(options.showNoteLetters); showNoteLetters.setSummary(showNoteLetters.getEntry()); root.addPreference(showNoteLetters); }
/** * Create the "Combine Notes Within Interval" preference. Notes within N milliseconds are combined * into a single chord, even though their start times may be slightly different. */ private void createCombineIntervalPrefs(PreferenceScreen root) { int selected = options.combineInterval / 20 - 1; combineInterval = new ListPreference(this); combineInterval.setOnPreferenceChangeListener(this); combineInterval.setTitle(R.string.combine_interval); combineInterval.setEntries(R.array.combine_interval_entries); combineInterval.setEntryValues(R.array.combine_interval_values); combineInterval.setValueIndex(selected); combineInterval.setSummary(combineInterval.getEntry()); root.addPreference(combineInterval); }
/** Create the "Transpose Notes" preference. The values range from 12, 11, 10, .. -10, -11, -12 */ private void createTransposePrefs(PreferenceScreen root) { int transposeIndex = 12 - options.transpose; transpose = new ListPreference(this); transpose.setOnPreferenceChangeListener(this); transpose.setTitle(R.string.transpose); transpose.setEntries(R.array.transpose_entries); transpose.setEntryValues(R.array.transpose_values); transpose.setValueIndex(transposeIndex); transpose.setSummary(transpose.getEntry()); root.addPreference(transpose); }
/** * Create the "Play Measures in a Loop" preference. * * <p>Note that we display the measure numbers starting at 1, but the actual * playMeasuresInLoopStart field starts at 0. */ private void createPlayMeasuresInLoopPrefs(PreferenceScreen root) { String[] values = new String[options.lastMeasure + 1]; for (int measure = 0; measure < values.length; measure++) { values[measure] = "" + (measure + 1); } PreferenceCategory playLoopTitle = new PreferenceCategory(this); playLoopTitle.setTitle(R.string.play_measures_in_loop_title); root.addPreference(playLoopTitle); showMeasures = new CheckBoxPreference(this); showMeasures.setTitle(R.string.show_measures); showMeasures.setChecked(options.showMeasures); root.addPreference(showMeasures); playMeasuresInLoop = new CheckBoxPreference(this); playMeasuresInLoop.setTitle(R.string.play_measures_in_loop); playMeasuresInLoop.setChecked(options.playMeasuresInLoop); root.addPreference(playMeasuresInLoop); loopStart = new ListPreference(this); loopStart.setOnPreferenceChangeListener(this); loopStart.setTitle(R.string.play_measures_in_loop_start); loopStart.setEntries(values); loopStart.setEntryValues(values); loopStart.setValueIndex(options.playMeasuresInLoopStart); loopStart.setSummary(loopStart.getEntry()); root.addPreference(loopStart); loopEnd = new ListPreference(this); loopEnd.setOnPreferenceChangeListener(this); loopEnd.setTitle(R.string.play_measures_in_loop_end); loopEnd.setEntries(values); loopEnd.setEntryValues(values); loopEnd.setValueIndex(options.playMeasuresInLoopEnd); loopEnd.setSummary(loopEnd.getEntry()); root.addPreference(loopEnd); }
/** Create the "Time Signature" preference */ private void createTimeSignaturePrefs(PreferenceScreen root) { String[] values = {"Default", "3/4", "4/4"}; int selected = 0; if (options.time != null && options.time.getNumerator() == 3) selected = 1; else if (options.time != null && options.time.getNumerator() == 4) selected = 2; time = new ListPreference(this); time.setOnPreferenceChangeListener(this); time.setTitle(R.string.time_signature); time.setEntries(values); time.setEntryValues(values); time.setValueIndex(selected); time.setSummary(time.getEntry()); root.addPreference(time); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); context = getActivity(); mPreferences = PreferenceManager.getDefaultSharedPreferences(context); mPreferences.registerOnSharedPreferenceChangeListener(this); addPreferencesFromResource(R.layout.advanced); sreadahead = getResources().getString(R.string.ps_read_ahead, ""); mReadAhead = (ListPreference) findPreference(PREF_READ_AHEAD); mBltimeout = findPreference(PREF_BLTIMEOUT); mBltouch = (CheckBoxPreference) findPreference(PREF_BLTOUCH); mBln = (CheckBoxPreference) findPreference(PREF_BLN); mWifiPM = (CheckBoxPreference) findPreference("pref_wifi_pm"); mTouchScr = findPreference("touchscr_settings"); mViber = findPreference("pref_viber"); mVM = findPreference("vm_settings"); mDsync = (CheckBoxPreference) findPreference(PREF_DSYNC); mPFK = findPreference("pfk_settings"); mDynamicWriteBackOn = (CheckBoxPreference) findPreference(PREF_DYNAMIC_DIRTY_WRITEBACK); mDynamicWriteBackActive = findPreference(PREF_DIRTY_WRITEBACK_ACTIVE); mDynamicWriteBackSuspend = findPreference(PREF_DIRTY_WRITEBACK_SUSPEND); if (!new File(DSYNC_PATH).exists()) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("dsync"); getPreferenceScreen().removePreference(hideCat); } else { mDsync.setChecked(Helpers.readOneLine(DSYNC_PATH).equals("1")); } if (!new File(PFK_HOME_ENABLED).exists() || !new File(PFK_MENUBACK_ENABLED).exists()) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("pfk"); getPreferenceScreen().removePreference(hideCat); } if (!new File(BL_TIMEOUT_PATH).exists()) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("bltimeout"); getPreferenceScreen().removePreference(hideCat); } else { mBltimeout.setSummary(Helpers.readOneLine(BL_TIMEOUT_PATH)); } if (!new File(BL_TOUCH_ON_PATH).exists()) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("bltouch"); getPreferenceScreen().removePreference(hideCat); } else { mBltouch.setChecked(Helpers.readOneLine(BL_TOUCH_ON_PATH).equals("1")); } BLN_PATH = Helpers.bln_path(); if (BLN_PATH == null) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("bln"); getPreferenceScreen().removePreference(hideCat); } else { mBln.setChecked(Helpers.readOneLine(BLN_PATH).equals("1")); } if (no_touchscreen()) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("touch_scr"); getPreferenceScreen().removePreference(hideCat); } VIBE_PATH = vib.get_path(); if (VIBE_PATH == null) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("viber"); getPreferenceScreen().removePreference(hideCat); } else { mViber.setSummary(vib.get_val(VIBE_PATH)); } if (!new File(DYNAMIC_DIRTY_WRITEBACK_PATH).exists()) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("cat_dynamic_write_back"); getPreferenceScreen().removePreference(hideCat); } else { boolean ison = Helpers.readOneLine(DYNAMIC_DIRTY_WRITEBACK_PATH).equals("1"); mDynamicWriteBackOn.setChecked(ison); mDynamicWriteBackActive.setSummary(Helpers.readOneLine(DIRTY_WRITEBACK_ACTIVE_PATH)); mDynamicWriteBackSuspend.setSummary(Helpers.readOneLine(DIRTY_WRITEBACK_SUSPEND_PATH)); } WIFIPM_PATH = Helpers.wifipm_path(); if (WIFIPM_PATH == null) { PreferenceCategory hideCat = (PreferenceCategory) findPreference("wifi_pm"); getPreferenceScreen().removePreference(hideCat); } else { mWifiPM.setChecked(Helpers.readOneLine(WIFIPM_PATH).equals("1")); } final String readahead = Helpers.readOneLine(READ_AHEAD_PATH); mReadAhead.setValue(readahead); mReadAhead.setSummary(getString(R.string.ps_read_ahead, readahead + " kb")); setHasOptionsMenu(true); }
@Override public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, String key) { final SharedPreferences.Editor editor = sharedPreferences.edit(); if (key.equals(PREF_READ_AHEAD)) { final String values = mReadAhead.getValue(); if (!values.equals(Helpers.readOneLine(READ_AHEAD_PATH))) { for (byte i = 0; i < 2; i++) { if (new File(READ_AHEAD_PATH.replace("mmcblk0", "mmcblk" + i)).exists()) new CMDProcessor() .su.runWaitFor( "busybox echo " + values + " > " + READ_AHEAD_PATH.replace("mmcblk0", "mmcblk" + i)); } } mReadAhead.setSummary(sreadahead + values + " kb"); } else if (key.equals(PREF_BLTIMEOUT)) { mBltimeout.setSummary(Helpers.readOneLine(BL_TIMEOUT_PATH)); } else if (key.equals(BLX_SOB)) { if (sharedPreferences.getBoolean(key, false)) { editor.putInt(PREF_BLX, Integer.parseInt(Helpers.readOneLine(BLX_PATH))).apply(); } else { editor.remove(PREF_BLX).apply(); } } else if (key.equals(BLTIMEOUT_SOB)) { if (sharedPreferences.getBoolean(key, false)) { editor .putInt(PREF_BLTIMEOUT, Integer.parseInt(Helpers.readOneLine(BL_TIMEOUT_PATH))) .apply(); } else { editor.remove(PREF_BLTIMEOUT).apply(); } } else if (key.equals(PFK_SOB)) { if (sharedPreferences.getBoolean(key, false)) { if (Helpers.readOneLine(PFK_HOME_ENABLED).equals("1")) { editor.putBoolean(PFK_HOME_ON, true); } else { editor.putBoolean(PFK_HOME_ON, false); } editor .putInt( PREF_HOME_ALLOWED_IRQ, Integer.parseInt(Helpers.readOneLine(PFK_HOME_ALLOWED_IRQ))) .putInt( PREF_HOME_REPORT_WAIT, Integer.parseInt(Helpers.readOneLine(PFK_HOME_REPORT_WAIT))); if (Helpers.readOneLine(PFK_MENUBACK_ENABLED).equals("1")) { editor.putBoolean(PFK_MENUBACK_ON, true); } else { editor.putBoolean(PFK_MENUBACK_ON, false); } editor .putInt( PREF_MENUBACK_INTERRUPT_CHECKS, Integer.parseInt(Helpers.readOneLine(PFK_MENUBACK_INTERRUPT_CHECKS))) .putInt( PREF_MENUBACK_FIRST_ERR_WAIT, Integer.parseInt(Helpers.readOneLine(PFK_MENUBACK_FIRST_ERR_WAIT))) .putInt( PREF_MENUBACK_LAST_ERR_WAIT, Integer.parseInt(Helpers.readOneLine(PFK_MENUBACK_LAST_ERR_WAIT))) .apply(); } else { editor .remove(PFK_HOME_ON) .remove(PREF_HOME_ALLOWED_IRQ) .remove(PREF_HOME_REPORT_WAIT) .remove(PFK_MENUBACK_ON) .remove(PREF_MENUBACK_INTERRUPT_CHECKS) .remove(PREF_MENUBACK_FIRST_ERR_WAIT) .remove(PREF_MENUBACK_LAST_ERR_WAIT) .apply(); } } else if (key.equals(DYNAMIC_DIRTY_WRITEBACK_SOB)) { if (sharedPreferences.getBoolean(key, false)) { if (Helpers.readOneLine(DYNAMIC_DIRTY_WRITEBACK_PATH).equals("1")) { editor.putBoolean(PREF_DYNAMIC_DIRTY_WRITEBACK, true); } else { editor.putBoolean(PREF_DYNAMIC_DIRTY_WRITEBACK, false); } editor .putInt( PREF_DIRTY_WRITEBACK_ACTIVE, Integer.parseInt(Helpers.readOneLine(DIRTY_WRITEBACK_ACTIVE_PATH))) .putInt( PREF_DIRTY_WRITEBACK_SUSPEND, Integer.parseInt(Helpers.readOneLine(DIRTY_WRITEBACK_SUSPEND_PATH))) .apply(); } else { editor .remove(PREF_DYNAMIC_DIRTY_WRITEBACK) .remove(PREF_DIRTY_WRITEBACK_ACTIVE) .remove(PREF_DIRTY_WRITEBACK_SUSPEND) .apply(); } } }
@Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { switch (key) { case "host": hostPref.setSummary(sharedPreferences.getString(key, "")); break; case "port": portPref.setSummary(sharedPreferences.getString("port", "8001")); break; case "password": { String tmp = sharedPreferences.getString("password", null); if (tmp == null || tmp.equals("")) { passPref.setSummary("None Set"); } else { passPref.setSummary("******"); } break; } case "text_size": textSizePref.setSummary(sharedPreferences.getString("text_size", "10")); break; case "timestamp_format": timestampformatPref.setSummary(sharedPreferences.getString("timestamp_format", "HH:mm:ss")); break; case "stunnel_cert": stunnelCert.setSummary( sharedPreferences.getString("stunnel_cert", "/sdcard/weechat/client.p12")); break; case "stunnel_pass": { String tmp = sharedPreferences.getString("stunnel_pass", null); if (tmp == null || tmp.equals("")) { stunnelPass.setSummary("None Set"); } else { stunnelPass.setSummary("******"); } break; } case "ssh_host": sshHostPref.setSummary(sharedPreferences.getString(key, "")); break; case "ssh_user": sshUserPref.setSummary(sharedPreferences.getString(key, "")); break; case "ssh_port": sshPortPref.setSummary(sharedPreferences.getString(key, "22")); break; case "ssh_pass": { String tmp = sharedPreferences.getString("ssh_pass", null); if (tmp == null || tmp.equals("")) { sshPassPref.setSummary("None Set"); } else { sshPassPref.setSummary("******"); } break; } case "ssh_keyfile": sshKeyFilePref.setSummary( sharedPreferences.getString(key, "/sdcard/weechat/sshkey.id_rsa")); break; case "prefix_align": prefixPref.setSummary(prefixPref.getEntry()); break; case "connection_type": connectionTypePref.setSummary(connectionTypePref.getEntry()); break; case "ping_enabled": boolean pingEnabled = sharedPreferences.getBoolean("ping_enabled", true); if (pingEnabled) { pingPreferences.setSummary("Enabled"); } else { pingPreferences.setSummary("Disabled"); } ((BaseAdapter) connectionSettings.getRootAdapter()).notifyDataSetChanged(); break; case "buffer_font": updateBufferFontSummary(); break; } }