13ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/* 23ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * 33ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * Copyright 2001-2011 Texas Instruments, Inc. - http://www.ti.com/ 43ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * 53ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * Licensed under the Apache License, Version 2.0 (the "License"); 63ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * you may not use this file except in compliance with the License. 73ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * You may obtain a copy of the License at 83ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * 93ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * http://www.apache.org/licenses/LICENSE-2.0 103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * 113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * Unless required by applicable law or agreed to in writing, software 123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * distributed under the License is distributed on an "AS IS" BASIS, 133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * See the License for the specific language governing permissions and 153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * limitations under the License. 163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru */ 173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Querupackage com.ti.fmrxapp; 193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport java.util.ArrayList; 213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.app.Activity; 233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.app.AlertDialog; 243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.SharedPreferences; 253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.os.Bundle; 263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.util.Log; 273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.view.KeyEvent; 283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.view.View; 293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.AdapterView; 303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.ArrayAdapter; 313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.Button; 323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.CheckBox; 333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.EditText; 343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.Spinner; 353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.AdapterView.OnItemSelectedListener; 363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.Intent; 373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.IntentFilter; 383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.Context; 393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.CompoundButton; 403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Querupublic class FmRxRdsConfig extends Activity implements View.OnKeyListener, 423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru View.OnClickListener, CompoundButton.OnCheckedChangeListener, 433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru FmRxAppConstants { 443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public static final String TAG = "FmRxRdsConfig"; 463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /******************************************** 483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * Widgets 493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru ********************************************/ 503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private Button btnCancel, btnOk; 513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private Spinner spnBand, spnDeEmp, spnRdsSystem, spnMode, 523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnChannelSpacing;; 533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private EditText textRssi; 543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private CheckBox chbRdsMode; 553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private CheckBox chbSetRdsAf; 563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayAdapter<String> bandAdapter; 573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayAdapter<String> channelSpaceAdapter; 583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayAdapter<String> deEmpAdapter; 593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayAdapter<String> rdsSystemAdapter; 603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayAdapter<String> modeAdapter; 613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayAdapter<String> emptyAdapter; 623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayList<String> channelSpaceString = new ArrayList<String>(); 633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayList<String> bandString = new ArrayList<String>(); 653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayList<String> deEmpStrings = new ArrayList<String>(); 663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayList<String> rdsSystemStrings = new ArrayList<String>(); 673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayList<String> emptyStrings = new ArrayList<String>(); 683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ArrayList<String> modeStrings = new ArrayList<String>(); 693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /******************************************** 713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * private variables 723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru ********************************************/ 733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private Context mContext; 743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /******************************************** 763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * public variables 773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru ********************************************/ 783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public SharedPreferences fmConfigPreferences; 793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Called when the activity is first created. */ 813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onCreate(Bundle savedInstanceState) { 833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onCreate(savedInstanceState); 843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setContentView(R.layout.fmrxrdsconfig); 853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru initControl(); 863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setSpinners(); 873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setRdsSystemSpinner(); 883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Initialise the Widget controls of the Activity */ 923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void initControl() { 933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnCancel = (Button) findViewById(R.id.btnCancel); 943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnCancel.setOnKeyListener(this); 953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnCancel.setOnClickListener(this); 963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnOk = (Button) findViewById(R.id.btnOk); 983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnOk.setOnKeyListener(this); 993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnOk.setOnClickListener(this); 1003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnRdsSystem = (Spinner) findViewById(R.id.spnRdsSystem); 1023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnBand = (Spinner) findViewById(R.id.spnBand); 1033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //spnDeEmp = (Spinner) findViewById(R.id.spnEmp); 1043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnMode = (Spinner) findViewById(R.id.spnMode); 1053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnChannelSpacing = (Spinner) findViewById(R.id.spnChannelSpace); 1073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru textRssi = (EditText) findViewById(R.id.Rssi); 1093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbRdsMode = (CheckBox) findViewById(R.id.chbRdsmode); 1113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbRdsMode.setOnCheckedChangeListener(this); 1123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbSetRdsAf = (CheckBox) findViewById(R.id.chbSetRdsAf); 1143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbSetRdsAf.setOnCheckedChangeListener(this); 1153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 1163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** 1183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * sets the Band , De-Emp Filter and Mode option selections Spinner for the 1193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * User 1203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru */ 1213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void setSpinners() { 1223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // BAnd Spinner 1233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru bandAdapter = new ArrayAdapter<String>(this, 1243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.layout.simple_spinner_item, bandString); 1253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru bandAdapter 1273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 1283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnBand.setAdapter(bandAdapter); 1293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru bandAdapter.add("European"); 1303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru bandAdapter.add("Japanese"); 1313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnBand.setOnItemSelectedListener(gItemSelectedHandler); 1323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // ChannelSpace Spinner 1343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru channelSpaceAdapter = new ArrayAdapter<String>(this, 1353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.layout.simple_spinner_item, channelSpaceString); 1363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru channelSpaceAdapter 1383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 1393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnChannelSpacing.setAdapter(channelSpaceAdapter); 1403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru channelSpaceAdapter.add("50 KHZ"); 1413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru channelSpaceAdapter.add("100 KHZ"); 1423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru channelSpaceAdapter.add("200 KHZ"); 1433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnChannelSpacing.setOnItemSelectedListener(gItemSelectedHandler); 1443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // De-Emp Spinner 1463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /*deEmpAdapter = new ArrayAdapter<String>(this, 1473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.layout.simple_spinner_item, deEmpStrings); 1483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru deEmpAdapter 1503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 1513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnDeEmp.setAdapter(deEmpAdapter); 1523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru deEmpAdapter.add("0 sec"); 1533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru deEmpAdapter.add("50 sec"); 1543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru deEmpAdapter.add("75 sec"); 1553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnDeEmp.setOnItemSelectedListener(gItemSelectedHandler); 1563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*/ 1573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Mode(Mono/Stereo) Spinner 1583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru modeAdapter = new ArrayAdapter<String>(this, 1593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.layout.simple_spinner_item, modeStrings); 1603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru modeAdapter 1623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 1633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnMode.setAdapter(modeAdapter); 1643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru modeAdapter.add("STEREO"); 1653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru modeAdapter.add("MONO"); 1663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnMode.setOnItemSelectedListener(gItemSelectedHandler); 1673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 1693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** spinner to select Rds System option */ 1713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void setRdsSystemSpinner() { 1723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru rdsSystemAdapter = new ArrayAdapter<String>(this, 1743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.layout.simple_spinner_item, rdsSystemStrings); 1753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru rdsSystemAdapter 1773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 1783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnRdsSystem.setAdapter(rdsSystemAdapter); 1793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru rdsSystemAdapter.clear(); 1803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru rdsSystemAdapter.add("RDB"); 1813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //rdsSystemAdapter.add("RBDS"); 1823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnRdsSystem.setOnItemSelectedListener(gItemSelectedHandler); 1833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 1853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Spinner with no options */ 1873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void setEmptySpinner() { 1883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru emptyAdapter = new ArrayAdapter<String>(this, 1893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.layout.simple_spinner_item, emptyStrings); 1903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru emptyAdapter 1923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setDropDownViewResource(android.R.layout.select_dialog_item); 1933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnRdsSystem.setAdapter(emptyAdapter); 1943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru emptyAdapter.clear(); 1953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru emptyAdapter.add(" RDS is Disabled "); 1963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnRdsSystem.setOnItemSelectedListener(gItemSelectedHandler); 1973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 1993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public OnItemSelectedListener gItemSelectedHandler = new OnItemSelectedListener() { 2013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onItemSelected(AdapterView<?> arg0, View view, int arg2, 2023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru long arg3) { 2033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onNothingSelected(AdapterView<?> arg0) { 2073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }; 2103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Pops up the alert Dialog */ 2123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void showAlert(Context context, String title, String msg) { 2133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru new AlertDialog.Builder(context).setTitle(title).setIcon( 2153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.drawable.ic_dialog_alert).setMessage(msg) 2163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setNegativeButton(android.R.string.ok, null).show(); 2173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onClick(View view) { 2213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onClick()"); 2223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int id = view.getId(); 2233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (id) { 2243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case R.id.btnCancel: 2253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru finish(); 2263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case R.id.btnOk: 2283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru savePrefernces(); 2293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru default: 2323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Send the Intent to Parent Activity */ 2373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void sendRdsIntent() { 2383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Intent rdsIntent = new Intent(); 2403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setResult(RESULT_OK, rdsIntent); 2413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru finish(); 2423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onCheckedChanged(CompoundButton view, boolean isChecked) { 2463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onCheckedChanged()"); 2473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int id = view.getId(); 2483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (id) { 2493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case R.id.chbSetRdsAf: 2503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case R.id.chbRdsmode: 2533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (isChecked) { 2553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbSetRdsAf.setEnabled(true); 2563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setRdsSystemSpinner(); 2573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } else { 2583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbSetRdsAf.setChecked(false); 2593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbSetRdsAf.setEnabled(false); 2603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setEmptySpinner(); 2613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru default: 2653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public boolean onKey(View view, int keyCode, KeyEvent keyEvent) { 2713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int action = keyEvent.getAction(); 2723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (keyCode == KeyEvent.KEYCODE_SOFT_RIGHT) { 2743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.v(TAG, "KEYCODE_SOFT_RIGHT "); 2753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru finish(); 2763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 2773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (keyCode == KeyEvent.KEYCODE_SOFT_LEFT) { 2803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.v(TAG, "KEYCODE_SOFT_LEFT "); 2813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru savePrefernces(); 2823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // finish(); 2833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 2843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (keyCode != KeyEvent.KEYCODE_DPAD_CENTER 2873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru && keyCode != KeyEvent.KEYCODE_DPAD_UP 2883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru && keyCode != KeyEvent.KEYCODE_DPAD_DOWN 2893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru && keyCode != KeyEvent.KEYCODE_ENTER) { 2903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return false; 2913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (action == KeyEvent.ACTION_UP) { 2943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (keyCode) { 2953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_ENTER: 2963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_DPAD_CENTER: 2973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_DPAD_UP: 3013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 3033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_DPAD_DOWN: 3053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 3073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 3103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onResume() { 3133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onResume(); 3143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onResume()-Entered"); 3153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru updateUiFromPreference(); 3163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onPause() { 3193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onPause(); 3203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onPause()-Entered"); 3213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onStop() { 3253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onStop()-Entered"); 3263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onStop(); 3273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onRestart() { 3303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onRestart()-Entered"); 3313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onRestart(); 3323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Updates the UI with Default/last saved values */ 3363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void updateUiFromPreference() { 3373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru fmConfigPreferences = getSharedPreferences("fmConfigPreferences", 3383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru MODE_PRIVATE); 3393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "updateUiFromPreference()"); 3403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbRdsMode.setChecked(fmConfigPreferences.getBoolean(RDS, DEFAULT_RDS)); 3423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru boolean rdsON = fmConfigPreferences.getBoolean(RDS, DEFAULT_RDS); 3433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (!rdsON) // Rds is Disabled 3453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru { 3463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbSetRdsAf.setChecked(false); // When the RDS is Disabled uncheck 3473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Rds Af checkbox 3483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbSetRdsAf.setEnabled(false); // When the RDS is Disabled disable 3493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Rds Af checkbox 3503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setEmptySpinner(); // When the RDS is Disabled, disable RDS System 3513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // spinner 3523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } else// Rds Is Enable 3533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru { 3543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbSetRdsAf.setChecked(fmConfigPreferences.getBoolean(RDSAF, 3553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru DEFAULT_RDS_AF)); 3563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnRdsSystem.setSelection(fmConfigPreferences.getInt(RDSSYSTEM, 3573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru DEFAULT_RDS_SYSTEM)); 3583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru textRssi.setText(fmConfigPreferences.getString(RSSI_STRING, 3613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru DEF_RSSI_STRING)); 3623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnBand.setSelection(fmConfigPreferences.getInt(BAND, DEFAULT_BAND)); 3643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //spnDeEmp.setSelection(fmConfigPreferences.getInt(DEEMP, DEFAULT_DEEMP)); 3653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnMode.setSelection(fmConfigPreferences.getInt(MODE, DEFAULT_MODE)); 3663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int pos = 1; 3683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (fmConfigPreferences.getInt(CHANNELSPACE, DEFAULT_CHANNELSPACE)) { 3693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case 1: 3713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru pos = 0; 3723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 3733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case 2: 3753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru pos = 1; 3763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 3773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case 4: 3793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru pos = 2; 3803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 3813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru spnChannelSpacing.setSelection(pos); 3843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Saves Configuration settings in the Shared Preference */ 3883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void savePrefernces() { 3893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "savePrefernces()"); 3903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int mChannelSpacePos = 2; 3923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru fmConfigPreferences = getSharedPreferences("fmConfigPreferences", 3943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru MODE_PRIVATE); 3953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru SharedPreferences.Editor editor = fmConfigPreferences.edit(); 3973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (chbRdsMode.isChecked()) { 3993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putBoolean(RDSAF, chbSetRdsAf.isChecked()); 4003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putBoolean(RDS, chbRdsMode.isChecked()); 4013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putInt(RDSSYSTEM, spnRdsSystem.getSelectedItemPosition()); 4023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } else { 4033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putBoolean(RDSAF, DEFAULT_RDS_AF); 4043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putBoolean(RDS, DEFAULT_RDS); 4053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putInt(RDSSYSTEM, DEFAULT_RDS_SYSTEM); 4063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putInt(BAND, spnBand.getSelectedItemPosition()); 4093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //editor.putInt(DEEMP, spnDeEmp.getSelectedItemPosition()); 4113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putInt(MODE, spnMode.getSelectedItemPosition()); 4133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (spnChannelSpacing.getSelectedItemPosition()) { 4153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case 0: 4163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mChannelSpacePos = 1; 4173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 4183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case 1: 4203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mChannelSpacePos = 2; 4213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 4223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case 2: 4243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mChannelSpacePos = 4; 4253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 4263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putInt(CHANNELSPACE, mChannelSpacePos); 4293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru try { 4313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int rssiValue = Integer.parseInt(textRssi.getText().toString()); 4323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru boolean valid = rssiValid(rssiValue); 4333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (valid || (textRssi.getText().toString() == null)) { 4343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putString(RSSI_STRING, textRssi.getText().toString()); 4353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (textRssi.getText().toString() == null) 4363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putInt(RSSI, DEFAULT_RSSI); 4373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else { 4383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putInt(RSSI, rssiValue); 4393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.commit(); 4413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru sendRdsIntent(); 4423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } else { 4433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru new AlertDialog.Builder(this).setIcon( 4443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.drawable.ic_dialog_alert).setMessage( 4453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Enter valid RSSI value in range 1-127!!") 4463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setNegativeButton(android.R.string.ok, null).show(); 4473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru textRssi.setText(null); 4483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } catch (NumberFormatException nfe) { 4503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "NumberFormatException:" + nfe.getMessage()); 4513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru new AlertDialog.Builder(this).setIcon( 4523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.drawable.ic_dialog_alert).setMessage( 4533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Enter valid RSSI value in range 1-127!!") 4543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .setNegativeButton(android.R.string.ok, null).show(); 4553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru textRssi.setText(null); 4563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Checks the RSSI value for validity */ 4613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private boolean rssiValid(int value) { 4623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //Log.d(TAG, "rssiValid " + value); 4633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (value < RSSI_MIN || value > RSSI_MAX) { 4643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "TAG,rssiValid %d." + value); 4653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return false; 4673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } else 4683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 4693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru} 473