private void restoreSettingsDefault() { if (mPrefs != null) { mBandPreference.setValueIndex(0); if (mRxMode) { mAudioPreference.setValueIndex(0); if (FMRadio.RECORDING_ENABLE) { mRecordDurPreference.setValueIndex(0); } mAfPref.setChecked(false); FmSharedPreferences.SetDefaults(); } else { FmSharedPreferences.setCountry(FmSharedPreferences.REGIONAL_BAND_NORTH_AMERICA); } mPrefs.Save(); } }
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.equals(REGIONAL_BAND_KEY)) { String[] summaryBandItems = getResources().getStringArray(R.array.regional_band_summary); String valueStr = sharedPreferences.getString(key, ""); int index = 0; if (valueStr != null) { index = mBandPreference.findIndexOfValue(valueStr); } if ((index < 0) || (index >= summaryBandItems.length)) { index = 0; mBandPreference.setValueIndex(0); } Log.d(LOGTAG, "onSharedPreferenceChanged: Country Change: " + index); mBandPreference.setSummary(summaryBandItems[index]); FmSharedPreferences.setCountry(index); FMRadio.fmConfigure(); } else { if (mRxMode) { if (key.equals(AUTO_AF)) { boolean bAFAutoSwitch = mAfPref.isChecked(); Log.d(LOGTAG, "onSharedPreferenceChanged: Auto AF Enable: " + bAFAutoSwitch); FmSharedPreferences.setAutoAFSwitch(bAFAutoSwitch); FMRadio.fmAutoAFSwitch(); } else if (key.equals(RECORD_DURATION_KEY)) { if (FMRadio.RECORDING_ENABLE) { String[] recordItems = getResources().getStringArray(R.array.record_durations_entries); String valueStr = mRecordDurPreference.getValue(); int index = 0; if (valueStr != null) { index = mRecordDurPreference.findIndexOfValue(valueStr); } if ((index < 0) || (index >= recordItems.length)) { index = 0; mRecordDurPreference.setValueIndex(index); } Log.d(LOGTAG, "onSharedPreferenceChanged: recorddur: " + recordItems[index]); mRecordDurPreference.setSummary(recordItems[index]); FmSharedPreferences.setRecordDuration(index); } } else if (key.equals(AUDIO_OUTPUT_KEY)) { String[] bandItems = getResources().getStringArray(R.array.ster_mon_entries); String valueStr = mAudioPreference.getValue(); int index = 0; if (valueStr != null) { index = mAudioPreference.findIndexOfValue(valueStr); } if (index != 1) { if (index != 0) { index = 0; /* It shud be 0(Stereo) or 1(Mono) */ mAudioPreference.setValueIndex(index); } } Log.d(LOGTAG, "onSharedPreferenceChanged: audiomode: " + bandItems[index]); mAudioPreference.setSummary(bandItems[index]); if (index == 0) { // Stereo FmSharedPreferences.setAudioOutputMode(true); } else { // Mono FmSharedPreferences.setAudioOutputMode(false); } FMRadio.fmAudioOutputMode(); } else if (key.equals(BT_EXIT_BEHAVIOUR)) { String[] btChoices = getResources().getStringArray(R.array.bt_exit_behaviour_entries); String valueStr = mBluetoothBehaviour.getValue(); Log.d( LOGTAG, "onSharedPreferenceChanged: BT behaviour: " + btChoices[mBluetoothBehaviour.findIndexOfValue(valueStr)]); FmSharedPreferences.setBluetoothExitBehaviour(Integer.parseInt(valueStr)); } else if (key.equals(HEADSET_DC_BEHAVIOUR)) { boolean bRemoveHeadset = mRemoveHeadset.isChecked(); Log.d(LOGTAG, "onSharedPreferenceChanged: Remove Headset Enable: " + bRemoveHeadset); FmSharedPreferences.setHeadsetDcBehaviour(bRemoveHeadset); } } } if (mPrefs != null) { mPrefs.Save(); } }