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.fmtxapp; 193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.app.Activity; 213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.Intent; 223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.os.Bundle; 233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.view.Menu; 243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.view.MenuItem; 253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.view.View; 263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.util.Log; 273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.CheckBox; 283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.EditText; 293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.Button; 303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.CompoundButton; 313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.CompoundButton.OnCheckedChangeListener; 323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.app.AlertDialog; 333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.view.KeyEvent; 343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.view.View.OnKeyListener; 353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.widget.Toast; 363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.app.ProgressDialog; 373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.BroadcastReceiver; 383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.os.Handler; 393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.os.Message; 403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.Context; 413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.Intent; 423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.IntentFilter; 433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.app.Notification; 443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.app.NotificationManager; 453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.app.PendingIntent; 463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.SharedPreferences; 473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport android.content.DialogInterface; 483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/*************** For calling lower layer********************/ 503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport com.ti.fm.FmRadio; 513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport com.ti.fm.FmRadioIntent; 523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruimport com.ti.fm.IFmConstants; 533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/**************************************************************/ 543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Querupublic class FmTx extends Activity implements View.OnClickListener, 563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste QueruOnCheckedChangeListener,OnKeyListener,FmTxAppConstants,FmRadio.ServiceListener{ 573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Called when the activity is first created. */ 583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public static final String TAG = "FmTxApp"; 593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /******************************************** 613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * Menu Constants 623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru ********************************************/ 633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public static final int MENU_CONFIGURE = Menu.FIRST + 1; 643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru// public static final int MENU_ADVANCED = Menu.FIRST + 2; 653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public static final int MENU_EXIT = Menu.FIRST + 2; 663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public static final int MENU_ABOUT = Menu.FIRST + 3; 673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /******************************************** 703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * Initail values 713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru ********************************************/ 723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mTxMode = INITIAL_VAL; 733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mPiCode = INITIAL_VAL; 743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mAfCode = INITIAL_VAL; 753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mTuneFreq = INITIAL_VAL; 763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mDeEmpFilter = INITIAL_VAL; 773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mPowerLevel = INITIAL_VAL; 783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mRepertoire = INITIAL_VAL; 793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mMonoStereo = INITIAL_VAL; 803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mDisplayMode = INITIAL_VAL; 813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mEcc = INITIAL_VAL; 823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mTxMusicSpeech = INITIAL_VAL; 833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mTxEmpFilter = INITIAL_VAL; 843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mTxPtyCode = INITIAL_VAL; 853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private Float mFreq = (float)INITIAL_VAL; 863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //private int mMute = INITIAL_VAL; 873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /*Flag to check if service is connected*/ 883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru boolean mFmServiceConnected = false; 893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public SharedPreferences fmTxPreferences; 923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private int mAppState = STATE_DEFAULT; 933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public static Float freqValue = (float)0; 953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private ProgressDialog pd = null,configPd; 963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public static FmRadio sFmRadio; 983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private CheckBox startTxBtn,enableRdsBtn,chbMute; 993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private EditText textFreq; 1003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private boolean mStatus; 1013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private Button btnOk; 1023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private boolean isFmEnabled = false; 1033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Actvity result index */ 1053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public static final int ACTIVITY_CONFIG = 1; 1063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private NotificationManager mNotificationManager; 1093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Context mContext; 1123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru @Override 1143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onCreate(Bundle savedInstanceState) { 1153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onCreate(savedInstanceState); 1163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "onCreate enter"); 1173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mContext = this; 1183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Register for FM TX intent broadcasts. 1213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru IntentFilter intentFilter = new IntentFilter(); 1223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_ENABLED_ACTION); 1233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_TUNE_ACTION); 1243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_DISABLED_ACTION); 1253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_START_TRANSMISSION_ACTION); 1263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_STOP_TRANSMISSION_ACTION); 1273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_DESTROY_ACTION); 1283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_ENABLE_RSD_ACTION); 1293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_DISABLE_RSD_ACTION); 1303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_PS_DISPLAY_MODE_ACTION); 1313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_SET_RDS_MUSIC_SPEECH_FLAG_ACTION); 1323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_SET_RDS_TEXT_REPERTOIRE_ACTION); 1333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_SET_TRANSMISSION_MODE_ACTION); 1343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_SET_POWER_LEVEL_ACTION); 1353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_SET_RDS_TEXT_PS_MSG_ACTION); 1363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_SET_MONO_STEREO_MODE_ACTION); 1373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_SET_MUTE_MODE_ACTION); 1383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru intentFilter.addAction(FmRadioIntent.FM_TX_SET_RDS_TRANSMISSION_GROUPMASK_ACTION); 1393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru registerReceiver(mReceiver, intentFilter); 1403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru sFmRadio = new FmRadio(this, this); 1433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setContentView(R.layout.main); 1453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru initControls(); 1463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru loadlastSaveddata(); 1473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 1503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru @Override 1523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onPause() { 1533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onPause(); 1543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "onPause enter"); 1553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru saveLastData(); 1563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru} 1573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/****************************************** 1583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 1593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* enableTx() 1603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 1613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*******************************************/ 1623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void enableTx() 1633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru { 1643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"enableTx()"); 1663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (sFmRadio.txGetFMState()){ 1683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case STATE_DISABLED: 1703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case STATE_DEFAULT: 1713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txEnable(); 1723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 1733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx --> Cannot enable TX !!"); 1743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru CharSequence text = "Sorry!! Cannot enable TX"; 1763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int duration = Toast.LENGTH_SHORT; 1773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Toast toast = Toast.makeText(mContext, text, duration); 1793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru toast.setGravity(android.view.Gravity.CENTER_VERTICAL, 0, 0); 1803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru toast.show(); 1813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru finish(); 1833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 1853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 1863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx --> Enabling TX !!"); 1873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru pd = ProgressDialog.show(this, "Please wait..", "Enabling FM TX", true, false); 1883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 1893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 1923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case STATE_ENABLED: 1943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru loadlastSaveddata(); 1953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx is already Enabled."); 1963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 1973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 1983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 1993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Querupublic void onServiceConnected() { 2053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onServiceConnected"); 2063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mFmServiceConnected =true; 2073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru enableTx(); 2083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru} 2093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Querupublic void onServiceDisconnected() { 2113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "Lost connection to service"); 2123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mFmServiceConnected =false; 2133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru sFmRadio = null; 2143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru} 2153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/****************************************** 2183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 2193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* onCreateOptionsMenu() 2203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 2213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*******************************************/ 2223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public boolean onCreateOptionsMenu(Menu menu) { 2233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onCreateOptionsMenu(menu); 2253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru MenuItem item; 2263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru item = menu.add(0, MENU_CONFIGURE, 0, R.string.configure); 2283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru item.setIcon(R.drawable.configure); 2293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /*item = menu.add(0, MENU_ADVANCED, 0, R.string.advanced); 2323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru item.setIcon(R.drawable.configure);*/ 2333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru item = menu.add(0, MENU_ABOUT, 0, R.string.about); 2353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru item.setIcon(R.drawable.icon); 2363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru item = menu.add(0, MENU_EXIT, 0, R.string.exit); 2383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru item.setIcon(R.drawable.icon); 2393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 2413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/****************************************** 2443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 2453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* onOptionsItemSelected() 2463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*Handles item selections 2473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 2483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*******************************************/ 2493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public boolean onOptionsItemSelected(MenuItem item) { 2513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (item.getItemId()) { 2533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case MENU_CONFIGURE: 2543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Start the configuration window */ 2563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Intent irds = new Intent("android.intent.action.RDSPARAM_CONFIG"); 2573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startActivityForResult(irds, ACTIVITY_CONFIG); 2583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* case MENU_ADVANCED: 2623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Intent iAdvanced = new Intent("android.intent.action.TXPARAM_CONFIG"); 2633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startActivityForResult(iAdvanced, ACTIVITY_ADVANCED); 2643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break;*/ 2673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case MENU_EXIT: 2693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru saveLastData(); 2703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* 2713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * The exit from the FM application happens here The audio will be 2723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * disabled and when he callback for this is recived, FM will be 2733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * disabled 2743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru */ 2753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txDisable(); 2763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 2773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Cannot Disable TX !!"); 2783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 2813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Disabling TX !!"); 2823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case MENU_ABOUT: 2863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Start the help window */ 2873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Intent iTxHelp = new Intent("android.intent.action.START_TXABOUT"); 2883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startActivity(iTxHelp); 2893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 2903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return super.onOptionsItemSelected(item); 2943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 2953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 2973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /** Adds Delay of 2 seconds */ 2983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void insertDelayThread() { 2993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru new Thread() { 3013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void run() { 3023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru try { 3033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Add some delay to make sure all configuration has been 3043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // completed. 3053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru sleep(2000); 3063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } catch (Exception e) { 3073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.e(TAG, "InsertDelayThread()-- Exception !!"); 3083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Dismiss the Dialog 3103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru configPd.dismiss(); 3113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }.start(); 3133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru protected void onActivityResult(int requestCode, int resultCode, Intent data) { 3183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onActivityResult(requestCode, resultCode, data); 3193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onActivityResult"); 3203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (requestCode) { 3213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/* case (ACTIVITY_ADVANCED):{ 3233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (resultCode == Activity.RESULT_OK) { 3243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setAdvancedConfig(); 3253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru configPd = ProgressDialog.show(this, "Please wait..", 3263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Applying Advanced Configuration", true, false); 3273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // The delay is inserted to make sure all the configurations 3283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // have been completed. 3293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru insertDelayThread(); 3303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 3343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*/ 3363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case (ACTIVITY_CONFIG): { 3383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (resultCode == Activity.RESULT_OK) { 3393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //Log.i(TAG, "ActivityFmRdsConfig configurationState "+ configurationState); 3403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setRdsConfig(); 3423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setAdvancedConfig(); 3433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru configPd = ProgressDialog.show(this, "Please wait..", 3443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Applying new Configuration", true, false); 3453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // The delay is inserted to make sure all the configurations 3463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // have been completed. 3473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru insertDelayThread(); 3483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 3523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************* 3603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste QuerusetAdvancedConfig() 3623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************/ 3643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruprivate void setAdvancedConfig() 3653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru{ 3663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "setAdvancedConfig"); 3673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru SharedPreferences fmTxParamConfigPreferences = getSharedPreferences( "fmConfigPreferences", MODE_PRIVATE); 3683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //Set Music-Speech Flag 3713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/* int txMusicSpeech = fmTxParamConfigPreferences.getInt(MUSIC_SPEECH, DEFAULT_MUSICSPEECH); 3723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setAdvancedConfig-- >txMusicSpeech = "+txMusicSpeech); 3733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mTxMusicSpeech != txMusicSpeech) { 3743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mTxMusicSpeech = txMusicSpeech; 3753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsMusicSpeechFlag(txMusicSpeech); 3763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 3773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsMusicSpeechFlag TX failed !!"); 3783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 3803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsMusicSpeechFlag is SUCCESSFUll !!"); 3813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*/ 3843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //Set Pre-Emp Filter 3853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/* int txEmpFilter = fmTxParamConfigPreferences.getInt(EMP_FILTER, DEFAULT_EMPFILTER); 3863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setAdvancedConfig-- >txEmpFilter = "+txMusicSpeech); 3873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mTxEmpFilter != txEmpFilter) { 3883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mTxEmpFilter = txEmpFilter; 3893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetPreEmphasisFilter(txEmpFilter); 3903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 3913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetPreEmphasisFilter TX failed !!"); 3923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 3943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetPreEmphasisFilter is SUCCESSFUll !!"); 3953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 3973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*/ 3983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 3993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Before Setting RT String , set the Tx group Mask 4003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "txSetRdsTransmittedGroupsMask(RT)"); 4023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTransmittedGroupsMask(RDS_RADIO_TRANSMITTED_GRP_RT_MASK | RDS_RADIO_TRANSMITTED_GRP_PS_MASK); 4033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 4043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsTransmittedGroupsMask TX failed !!"); 4053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 4063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsTransmittedGroupsMask is SUCCESSFUll !!"); 4073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //Set Radio Text Code 4103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru String txRTCode = fmTxParamConfigPreferences.getString(RT_STRING, DEF_RT_STRING); 4123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru boolean rtMask= fmTxParamConfigPreferences.getBoolean(RTENABLED,false); 4133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int rds_mode = 2; 4143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setAdvancedConfig-- >txRT = "+txRTCode); 4163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (rtMask) { 4173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTextRtMsg(rds_mode, txRTCode, txRTCode.length()); 4183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 4193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsRadioText TX failed !!"); 4203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 4223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsRadioText is SUCCESSFUll !!"); 4233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else { 4253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru txRTCode = ""; 4263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTextRtMsg(rds_mode, txRTCode, txRTCode.length()); 4273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 4283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsRadioText TX failed !!"); 4293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 4313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsRadioText is Emty!!"); 4323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //Set PS Name 4363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru String txPSName = fmTxParamConfigPreferences.getString(PS_STRING, DEF_PS_STRING); 4373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru boolean psMask= fmTxParamConfigPreferences.getBoolean(PSENABLED,false); 4383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setAdvancedConfig-- >txPSName = "+txPSName); 4403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (psMask) { 4413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTextPsMsg(txPSName); 4423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 4433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsPSName TX failed !!"); 4443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 4463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsPSName is SUCCESSFUll !!"); 4473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else { 4493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru txPSName = ""; 4503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTextPsMsg(txPSName); 4513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 4523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsPSName TX failed !!"); 4533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 4553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsPSName is Empty !!"); 4563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //Set Pty Code 4603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int txPtyCode = fmTxParamConfigPreferences.getInt(PTY,DEFAULT_PTY); 4613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setAdvancedConfig-- >txPtyCode = "+txPtyCode); 4623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mTxPtyCode != txPtyCode) { 4633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mTxPtyCode = txPtyCode; 4643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsPtyCode(txPtyCode); 4653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 4663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsPtyCode TX failed !!"); 4673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 4693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsPtyCode is SUCCESSFUll !!"); 4703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/* 4743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int ecc = fmTxParamConfigPreferences.getInt(ECC, DEFAULT_ECC); 4753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setAdvancedConfig-- >ecc ="+ecc); 4763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mEcc != ecc) { 4773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mEcc = ecc; 4783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsECC(ecc); 4793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 4803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsECC TX failed !!"); 4813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 4833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsECC is SUCCESSFUll !!"); 4843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 4863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*/ 4873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru} 4903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************* 4943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste QuerusetRdsConfig() 4963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 4973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************/ 4983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruprivate void setRdsConfig() 4993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru{ 5003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "setRdsConfig"); 5013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru SharedPreferences fmConfigPreferences = getSharedPreferences( 5023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "fmConfigPreferences", MODE_PRIVATE); 5033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru String psStr = fmConfigPreferences.getString(PS_STRING,DEF_PS_STRING); 5053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "setRdsConfig()--- psStr= " + psStr.toString()); 5063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru String rtstr = fmConfigPreferences.getString(RT_STRING,DEF_RT_STRING); 5093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "setRdsConfig()--- RtStr= " + rtstr.toString()); 5103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Set TxMode 5123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int txMode = fmConfigPreferences.getInt(TX_MODE, DEFAULT_TXMODE); 5133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setRdsConfig-- >txMode = "+txMode); 5143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTransmissionMode(txMode); 5163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /*if (mTxMode != txMode) { 5173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mTxMode = txMode; 5183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTransmissionMode(txMode); 5193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 5203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsTransmissionMode TX failed !!"); 5213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 5233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsTransmissionMode is SUCCESSFUll !!"); 5243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }*/ 5263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Set Ps DispalyMode 5283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /*int psDisplayMode = fmConfigPreferences.getInt(DISPLAY_MODE, DEFAULT_DISPLAYMODE); 5293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setRdsConfig-- >psDisplayMode = "+psDisplayMode); 5303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mDisplayMode != psDisplayMode) { 5313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mDisplayMode = txMode; 5323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsPsDisplayMode(psDisplayMode); 5333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 5343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsPsDisplayMode TX failed !!"); 5353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 5373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsPsDisplayMode is SUCCESSFUll !!"); 5383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }*/ 5403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Set Mono/Stereo Flag 5443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int monoStereo = fmConfigPreferences.getInt(MONO_STEREO, DEFAULT_MONOSTEREO); 5453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setRdsConfig-- >monoStereo = "+monoStereo); 5463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mMonoStereo != monoStereo) { 5473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mMonoStereo = monoStereo; 5483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetMonoStereoMode(monoStereo); 5493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 5503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetMonoStereoMode TX failed !!"); 5513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 5533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetMonoStereoMode is SUCCESSFUll !!"); 5543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Set Repetoire 5593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /*int repetoire = fmConfigPreferences.getInt(REPERTOIRE, DEFAULT_REPERTOIRE); 5603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setRdsConfig-- >repetoire = "+repetoire); 5613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mMonoStereo != repetoire) { 5623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mMonoStereo = repetoire; 5633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTextRepertoire(repetoire); 5643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 5653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsTextRepertoire TX failed !!"); 5663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 5683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsTextRepertoire is SUCCESSFUll !!"); 5693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }*/ 5713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Before Setting Ps String , set the Tx group Mask 5743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru boolean rtMask= fmConfigPreferences.getBoolean(RTENABLED,false); 5753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru boolean psMask= fmConfigPreferences.getBoolean(PSENABLED,false); 5763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int rdsMask=(int) RDS_RADIO_TRANSMITTED_GRP_RT_MASK; 5773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if(rtMask) 5783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru rdsMask = (int) (rdsMask |RDS_RADIO_TRANSMITTED_GRP_RT_MASK) ; 5793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if(psMask) 5803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru rdsMask = (int) (rdsMask | RDS_RADIO_TRANSMITTED_GRP_PS_MASK); 5813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "txSetRdsTransmittedGroupsMask(rdsMask )" +rdsMask ); 5833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTransmittedGroupsMask(RDS_RADIO_TRANSMITTED_GRP_PS_MASK); 5843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 5853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsTransmittedGroupsMask TX failed !!"); 5863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 5873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsTransmittedGroupsMask is SUCCESSFUll !!"); 5883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 5893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 5933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Set Power Level 5943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int powerLevel = fmConfigPreferences.getInt(POWER,DEFAULT_POWER); 5953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setRdsConfig-- >powerLevel ="+powerLevel); 5963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mPowerLevel != powerLevel) { 5973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mPowerLevel = powerLevel; 5983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetPowerLevel(powerLevel); 5993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 6003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetPowerLevel TX failed !!"); 6013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 6033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetPowerLevel is SUCCESSFUll !!"); 6043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Set Pi Code 6103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int piCode = fmConfigPreferences.getInt(PI_CODE,DEFAULT_PICODE); 6113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setRdsConfig-- >piCode =" + piCode ); 6123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mPiCode != piCode) { 6143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mPiCode = piCode; 6153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsPiCode(piCode); 6163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 6173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsPiCode TX failed !!"); 6183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 6203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsPiCode is SUCCESSFUll !!"); 6213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Set Af Code 6263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int afCode = fmConfigPreferences.getInt(AF_CODE,DEFAULT_AFCODE); 6273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setRdsConfig-- >afCode = "+afCode); 6283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mAfCode != afCode) { 6293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mAfCode = afCode; 6303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsAfCode(afCode); 6313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 6323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsAfCode TX failed !!"); 6333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 6353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsAfCode is SUCCESSFUll !!"); 6363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru} 6423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************************ 6433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 6443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* initControls() 6453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* Initialize all the UI controls 6463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 6473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************************/ 6483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void initControls() 6493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru { 6503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn = (CheckBox)findViewById(R.id.ChbTx); 6513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setOnCheckedChangeListener(this); 6523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru enableRdsBtn = (CheckBox)findViewById(R.id.chbEnableRds); 6543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru enableRdsBtn.setOnCheckedChangeListener(this); 6553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbMute = (CheckBox)findViewById(R.id.chbMute); 6573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbMute.setOnCheckedChangeListener(this); 6583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru textFreq = (EditText)findViewById(R.id.edtTxFreq); 6603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnOk = (Button) findViewById(R.id.btnOk); 6623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnOk.setOnKeyListener(this); 6633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru btnOk.setOnClickListener(this); 6643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Get the notification manager service. 6663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 6673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************************ 6733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 6743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* onCheckedChanged() 6753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 6763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************************/ 6773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onCheckedChanged(CompoundButton btn, boolean checkedState) { 6793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // TODO Auto-generated method stub 6803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /*if (checkedState ){ 6813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setText("Uncheck to stop Tx"); 6823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 6843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //sFmRadio.txStopTransmission(); 6863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setText("Check to start Tx"); 6873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }*/ 6893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 6903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int id = btn.getId(); 6913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (id) { 6923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case R.id.ChbTx: 6933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (checkedState ){ 6943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setText("Uncheck to stop Tx"); 6953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 6963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setText("Check to start Tx"); 6973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 6983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 6993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case R.id.chbEnableRds: 7013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (checkedState ){ 7023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru enableRdsBtn.setText("Uncheck to Disable Rds"); 7033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 7043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru enableRdsBtn.setText("Check to Enable Rds"); 7053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 7073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru default: 7093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 7103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************************ 7143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 7153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* BaseFreq() 7163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 7173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************************/ 7183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru static float BaseFreq() { 7193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return APP_FM_FIRST_FREQ_US_EUROPE_KHZ; 7203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************************ 7243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 7253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*LastFreq() 7263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 7273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************************/ 7283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru static float LastFreq() { 7293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return APP_FM_LAST_FREQ_US_EUROPE_KHZ; 7303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************************ 7343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* Update the Frequency label with the given value 7353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 7363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************************/ 7373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru float UpdateFrequency(float freq) { 7403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "FM App: UpdateFrequency %d." + freq); 7413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (freq < BaseFreq() || freq > LastFreq()) { 7423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru freq = 0; 7433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "FM App: returned %d." + freq); 7453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return (float) freq; 7463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************************ 7493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* writeFrequency() 7503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 7513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************************/ 7523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void writeFrequency() { 7533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // get the text entered in edit box 7543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru String text = textFreq.getText().toString(); 7553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d("writeFrequency()","--> text ="+text); 7563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru try { 7573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru float iFreq = Float.parseFloat(text); 7593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d("writeFrequency()","--> iFreq ="+iFreq); 7603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Float validFreq = UpdateFrequency(iFreq); 7613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (validFreq != 0) { 7623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru freqValue = validFreq; 7633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else { 7663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru new AlertDialog.Builder(this).setIcon( 7673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.drawable.ic_dialog_alert).setMessage( 7683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Enter valid frequency!!").setNegativeButton( 7693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.string.ok, null).show(); 7703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru textFreq.setText(null); 7713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } catch (NumberFormatException nfe) { 7733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "NumberFormatException:" + nfe.getMessage()); 7743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru new AlertDialog.Builder(this).setIcon( 7753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.drawable.ic_dialog_alert).setMessage( 7763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Enter valid number!!").setNegativeButton( 7773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru android.R.string.ok, null).show(); 7783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru textFreq.setText(null); 7793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru freqValue = (float) 0; 7803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 7833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 7843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************* 7853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 7863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* This is a method implementation of OnKeyListener 7873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 7883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************/ 7893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public boolean onKey(View v, int keyCode, KeyEvent event) { 7903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"onKey()"); 7913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (event.getAction() == KeyEvent.ACTION_DOWN) { 7923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (keyCode) { 7933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_DPAD_CENTER: 7943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_ENTER: 7953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru writeFrequency(); 7963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (startTxBtn.isChecked()){ 7973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Tune TX 7983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX Tune is (long)(freqValue.floatValue()*1000) !!"+(long)(freqValue.floatValue()*1000)); 7993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txTune((long)(freqValue.floatValue()*1000)); 8013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 8023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Tune TX failed !!"); 8033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 8053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX Tune is SUCCESSFUll !!"); 8063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return false; 8123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************* 8163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 8173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* This is a method implementation of onKeyDown 8183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 8193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************/ 8203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public boolean onKeyDown(int keyCode, KeyEvent event) { 8213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"onKeyDown()"); 8223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (keyCode) { 8233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_DPAD_CENTER: 8243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru writeFrequency(); 8253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (startTxBtn.isChecked()){ 8263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Tune TX */ 8273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txTune((long)(freqValue.floatValue()*1000)); 8283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 8293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Tune TX failed !!"); 8303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 8323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX Tune is SUCCESSFUll !!"); 8333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 8363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_DPAD_UP: 8393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_BACK: 8423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_BACK"); 8433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru finish(); 8443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_HOME: 8473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_HOME"); 8483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //this.showNotification(R.drawable.radio, R.string.app_name,textFreq.getText(), false); 8493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //moved the notification to TX 8503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru //finish(); 8513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Keys A to L are mapped to different get APIs for Testing */ 8563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_A: 8573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_A"); 8583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetRdsTextPsMsg(psStr) returned = " 8593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsTextPsMsg("psStr")); 8603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_B: 8633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_B"); 8643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txWriteRdsRawData(RawData) returned= " 8653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txWriteRdsRawData("RdsRawData")); 8663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_C: 8693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_C"); 8703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru sFmRadio.txSetRdsTransmissionMode(1); 8713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_D: 8753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_D"); 8763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetMonoStereoMode(0) returned= " 8773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetMonoStereoMode(0)); 8783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_E: 8813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_E"); 8823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetPreEmphasisFilter(1) returned = " 8833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetPreEmphasisFilter(1)); 8843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_F: 8873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_F"); 8883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetMuteMode(0) returned = " 8893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetMuteMode(0)); 8903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_G: 8933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_G"); 8943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetRdsAfCode(224) returned = " 8953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsAfCode(224)); 8963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 8973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 8983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_H: 8993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_H"); 9003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"Testing txSetRdsPiCode(5) returned = " 9013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsPiCode(5)); 9023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_I: 9053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_I"); 9063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetRdsPtyCode(0) returned = " 9073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsPtyCode(0)); 9083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_J: 9113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_J"); 9123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetRdsTextRepertoire(0) returned = " 9133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsTextRepertoire(0)); 9143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_K: 9173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_K"); 9183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"Testing txSetRdsPsDisplayMode(0) returned = " 9193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsPsDisplayMode(0)); 9203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_L: 9233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_L"); 9243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txChangeDigitalSourceConfiguration(1) returned = " 9253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txChangeDigitalSourceConfiguration(1)); 9263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_M: 9303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_M"); 9313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetRdsPsScrollSpeed(3) returned = " 9323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsPsScrollSpeed(3)); 9333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_N: 9363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_N"); 9373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetRdsTextRtMsg(2,RtMsg,5) returned = " 9383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsTextRtMsg(2,"RtMsg",5)); 9393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_O: 9423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_O"); 9433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 9443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txSetRdsTransmittedGroupsMask(1) returned = " 9453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsTransmittedGroupsMask(7)); 9463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_P: 9493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_P"); 9503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 9513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txSetRdsTrafficCodes(0,0) returned = " 9523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsTrafficCodes(0,0)); 9533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_Q: 9573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_Q"); 9583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 9593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txSetRdsMusicSpeechFlag(1) returned = " 9603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsMusicSpeechFlag(1)); 9613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_R: 9653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_R"); 9663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Testing txSetRdsECC(0) returned = " 9673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetRdsECC(0)); 9683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_S: 9723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_S"); 9733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 9743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txChangeAudioSource(0,0) returned = " 9753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txChangeAudioSource(0,0)); 9763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_T: 9793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_T"); 9803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 9813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txEnableRds() returned = " 9823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txEnableRds()); 9833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_U: 9863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_U"); 9873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 9883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txDisableRds() returned = " 9893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txDisableRds()); 9903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_V: 9933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_V"); 9943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 9953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txStartTransmission() returned = " 9963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txStartTransmission()); 9973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 9983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 9993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_W: 10003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_W"); 10013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 10023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txStopTransmission() returned = " 10033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txStopTransmission()); 10043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 10053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_X: 10073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_X"); 10083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 10093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txSetPowerLevel() returned = " 10103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txSetPowerLevel(0)); 10113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 10123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case KeyEvent.KEYCODE_Y: 10143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i("onKeyDown()","KEYCODE_Y"); 10153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, 10163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "Testing txTune() returned = " 10173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru + sFmRadio.txTune(104000)); 10183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return true; 10193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return false; 10223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queruprivate void setMuteMode() 10273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru{ 10283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG,"setMuteMode()"); 10303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru // Mute 10313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if(chbMute.isChecked()== true){ 10323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetMuteMode(0); 10333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 10343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetMuteMode(1); 10353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 10383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Cannot Mute TX !!"); 10393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 10403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Muting TX !!"); 10413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru} 10443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************* 10473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 10483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* This is a method implementation of onClick 10493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 10503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************/ 10513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onClick(View view) { 10523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onClick()"); 10533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru int id = view.getId(); 10543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (id) { 10553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case R.id.btnOk: 10563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru setMuteMode(); 10573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru writeFrequency(); 10583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru fmTxPreferences = getSharedPreferences("fmTxPreferences", MODE_PRIVATE); 10593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (startTxBtn.isChecked() && freqValue != 0 ){ 10613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, " FM-------> mFreq:" + mFreq); 10623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, " FM-------> freqValue" + freqValue); 10633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if(((mFreq-freqValue) < -.00001) ||((mFreq-freqValue) > .00001)) { 10643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Tune TX */ 10653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mFreq = freqValue; 10663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, " FM-------> mFreq:" + mFreq); 10673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txTune((long)(freqValue.floatValue()*1000)); 10683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Tune TX freqValue !!" +(long)(freqValue.floatValue()*1000)); 10693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 10703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Tune TX failed !!"); 10713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 10733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX Tune is SUCCESSFUll !!"); 10743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } else { 10763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Already Tuned */ 10773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txStartTransmission(); 10783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 10793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Stop Tx failed !!"); 10803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else { 10813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Stop Transmission is SUCCESSFUll !!"); 10823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 10853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txStopTransmission(); 10863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 10873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Stop Tx failed !!"); 10883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 10903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> Stop Transmission is SUCCESSFUll !!"); 10913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 10943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 10953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if(enableRdsBtn.isChecked()){ 10963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru sFmRadio.txEnableRds(); 10973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 10983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru sFmRadio.txDisableRds(); 10993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 11003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru default: 11063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 11083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 11093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************* 11133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 11143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 11153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 11163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************/ 11173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private Handler mHandler = new Handler() { 11183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void handleMessage(Message msg) { 11203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru switch (msg.what) { 11223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_ENABLED: 11253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_ENABLED"); 11263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru isFmEnabled = true; 11273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mAppState = STATE_ENABLED; 11283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (pd != null){ 11293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru pd.dismiss(); 11303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 11313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru pd =null; 11323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_DISABLED: 11353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_DISABLED"); 11363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru isFmEnabled = false; 11373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mAppState = STATE_DISABLED; 11383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setChecked(false); 11393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru finish(); //Close the Activity 11403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_STARTTRANSMISSION: 11443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_STARTTRANSMISSION"); 11453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_STOPTRANSMISSION: 11483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_STOPTRANSMISSION"); 11493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_TUNE: 11523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txStartTransmission(); 11533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 11543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txStartTransmission failed !!"); 11553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 11563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru else{ 11573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX is Transmitting.."); 11583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 11593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_TUNE"); 11603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_ENABLE_RDS: 11643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_ENABLE_RDS"); 11653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_DISABLE_RDS: 11693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_DISABLE_RDS"); 11703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_TRANSMISSION_MODE: 11733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_TRANSMISSION_MODE"); 11743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_PS_DISPLAY_MODE: 11773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_PS_DISPLAY_MODE"); 11783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_RDS_MUSIC_SPEECH_FLAG: 11813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_RDS_MUSIC_SPEECH_FLAG"); 11823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_MONO_STEREO_MODE: 11853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_MONO_STEREO_MODE"); 11863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_POWER_LEVEL: 11893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_POWER_LEVEL"); 11903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_MUTE_MODE: 11933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_MUTE_MODE"); 11943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 11963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_RDS_TEXT_PS_MSG: 11973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_RDS_TEXT_PS_MSG"); 11983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 11993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_RDS_TX_GRP_MASK_PS: 12013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_RDS_TX_GRP_MASK_PS"); 12023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru SharedPreferences fmConfigPreferences = getSharedPreferences( 12043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "fmConfigPreferences", MODE_PRIVATE); 12053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru String psStr = fmConfigPreferences.getString(PS_STRING,DEF_PS_STRING); 12073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "txSetRdsTextPsMsg()--- psStr= " + psStr.toString()); 12083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTextPsMsg(psStr); 12093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 12103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsTextPsMsg TX failed !!"); 12113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 12123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsTextPsMsg is SUCCESSFUll !!"); 12133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 12153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru case EVENT_FM_TX_SET_RDS_TX_GRP_MASK_RT: 12173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter handleMessage ----EVENT_FM_TX_SET_RDS_TX_GRP_MASK_RT"); 12183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru SharedPreferences fmTxParamConfigPreferences = getSharedPreferences( 12203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru "fmTxParamConfigPreferences", MODE_PRIVATE); 12213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru String rtStr = fmTxParamConfigPreferences.getString(RT_STRING,DEF_RT_STRING); 12233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "txSetRdsTextRtMsg()--- rtStr= " + rtStr.toString()); 12243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mStatus = sFmRadio.txSetRdsTextRtMsg(RDS_TEXT_TYPE_RT_B,rtStr,rtStr.length()); //msgType =4 12253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (mStatus == false) { 12263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> txSetRdsTextRtMsg TX failed !!"); 12273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 12283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "Fm Tx--> TX txSetRdsTextRtMsg is SUCCESSFUll !!"); 12293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru break; 12313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }}}; 12343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru/************************************************************************* 12373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 12383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 12393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru* 12403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru*************************************************************************/ 12413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 12423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onReceive(Context context, Intent intent) { 12433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru String fmAction = intent.getAction(); 12443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive" + fmAction); 12453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_ENABLED_ACTION)) { 12463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_ENABLED_ACTION " + fmAction); 12473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler 12483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru .obtainMessage(EVENT_FM_TX_ENABLED, 0)); 12493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_DISABLED_ACTION)) { 12523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_DISABLED_ACTION " + fmAction); 12533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_DISABLED, 12543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 12553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_TUNE_ACTION)) { 12583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_TUNE_ACTION " + fmAction); 12593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_TUNE, 12603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 12613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_START_TRANSMISSION_ACTION)) { 12643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_START_TRANSMISSION_ACTION " + fmAction); 12653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_STARTTRANSMISSION, 12663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 12673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_STOP_TRANSMISSION_ACTION)) { 12703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_STOP_TRANSMISSION_ACTION " + fmAction); 12713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_STOPTRANSMISSION, 12723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 12733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_DESTROY_ACTION)) { 12763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_DESTROY_ACTION " + fmAction); 12773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_DESTROY, 12783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 12793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_ENABLE_RSD_ACTION)) { 12823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_ENABLE_RSD_ACTION " + fmAction); 12833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_ENABLE_RDS, 12843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 12853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_DISABLE_RSD_ACTION)) { 12883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_DISABLE_RSD_ACTION " + fmAction); 12893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_DISABLE_RDS, 12903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 12913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 12943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_TRANSMISSION_MODE_ACTION)) { 12953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_TRANSMISSION_MODE_ACTION " + fmAction); 12963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_TRANSMISSION_MODE, 12973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 12983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 12993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_PS_DISPLAY_MODE_ACTION)) { 13013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_PS_DISPLAY_MODE_ACTION " + fmAction); 13023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_PS_DISPLAY_MODE, 13033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_RDS_MUSIC_SPEECH_FLAG_ACTION)) { 13073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_RDS_MUSIC_SPEECH_FLAG_ACTION " + fmAction); 13083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_RDS_MUSIC_SPEECH_FLAG, 13093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_RDS_TEXT_REPERTOIRE_ACTION)) { 13133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_RDS_TEXT_REPERTOIRE_ACTION " + fmAction); 13143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_RDS_TEXT_REPERTOIRE, 13153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_TRANSMISSION_MODE_ACTION)) { 13193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_TRANSMISSION_MODE_ACTION " + fmAction); 13203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_TRANSMISSION_MODE, 13213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_POWER_LEVEL_ACTION)) { 13253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_POWER_LEVEL_ACTION " + fmAction); 13263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_POWER_LEVEL, 13273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_RDS_TEXT_PS_MSG_ACTION)) { 13313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_RDS_TEXT_PS_MSG_ACTION " + fmAction); 13323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_RDS_TEXT_PS_MSG, 13333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_MONO_STEREO_MODE_ACTION)) { 13373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_MONO_STEREO_MODE_ACTION " + fmAction); 13383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_MONO_STEREO_MODE, 13393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_MUTE_MODE_ACTION)) { 13443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_MUTE_MODE_ACTION " + fmAction); 13453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_MUTE_MODE, 13463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if (fmAction.equals(FmRadioIntent.FM_TX_SET_RDS_TRANSMISSION_GROUPMASK_ACTION)) { 13503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "enter onReceive FM_TX_SET_RDS_TRANSMISSION_GROUPMASK_ACTION " + fmAction); 13513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Long grpMask = intent.getLongExtra( 13533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru FmRadioIntent.RDS_GRP_MASK, 0); 13543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* 13553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if(grpMask == RDS_RADIO_TRANSMITTED_GRP_PS_MASK){ 13563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_RDS_TX_GRP_MASK_PS, 13573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else if(grpMask == RDS_RADIO_TRANSMITTED_GRP_RT_MASK){ 13593ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru mHandler.sendMessage(mHandler.obtainMessage(EVENT_FM_TX_SET_RDS_TX_GRP_MASK_RT, 13603ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 0)); 13613ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13623ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru */ 13633ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13643ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13653ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13663ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13673ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13683ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13693ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }; 13703ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13713ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13723ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13733ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13743ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Save the values to the preference when the application exits */ 13753ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void saveLastData() { 13763ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "saveLastData()---Entered"); 13773ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru fmTxPreferences = getSharedPreferences("fmTxPreferences", MODE_PRIVATE); 13783ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru SharedPreferences.Editor editor = fmTxPreferences.edit(); 13793ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13803ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putBoolean(FMENABLED, startTxBtn.isChecked()); 13813ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putBoolean(RDSENABLED, enableRdsBtn.isChecked()); 13823ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putBoolean(MUTE, chbMute.isChecked()); 13833ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13843ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putString(FREQUENCY_STRING, textFreq.getText().toString()); 13853ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.putString(FREQUENCY, DEFAULT_FREQ); 13863ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13873ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, " save FMENABLED " +isFmEnabled + "FREQUENCY_STRING"+freqValue); 13883ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru editor.commit(); 13893ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "saveLastData()---Exit"); 13903ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 13913ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13923ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* Load the last saved values from the preference when the application starts */ 13933ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru private void loadlastSaveddata() { 13943ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13953ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "loadlastSaveddata()-entered"); 13963ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru fmTxPreferences = getSharedPreferences("fmTxPreferences", MODE_PRIVATE); 13973ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 13983ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru isFmEnabled = fmTxPreferences.getBoolean(FMENABLED,false); 13993ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if(isFmEnabled == true) 14003ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru { 14013ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setChecked(true); 14023ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setEnabled(true); 14033ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14043ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru }else{ 14053ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setChecked(false); 14063ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru startTxBtn.setEnabled(true); 14073ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 14083ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14093ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru enableRdsBtn.setChecked(fmTxPreferences.getBoolean(RDSENABLED,false)); 14103ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru enableRdsBtn.setEnabled(true); 14113ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14123ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbMute.setChecked(fmTxPreferences.getBoolean(MUTE,false)); 14133ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru chbMute.setEnabled(true); 14143ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14153ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru textFreq.setText(fmTxPreferences.getString(FREQUENCY_STRING,null)); 14163ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14173ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, " Load FMENABLED " +isFmEnabled + "FREQUENCY_STRING"+freqValue); 14183ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14193ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "loadlastSaveddata()-exit"); 14203ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 14213ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14223ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14233ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14243ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14253ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onStart() { 14263ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onStart"); 14273ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onStart(); 14283ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 14293ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14303ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14313ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onResume() { 14323ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onResume"); 14333ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onResume(); 14343ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru if(mFmServiceConnected == true) 14353ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru enableTx(); 14363ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14373ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14383ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 14393ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14403ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public void onDestroy() { 14413ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.i(TAG, "onDestroy"); 14423ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru super.onDestroy(); 14433ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru /* 14443ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * Unregistering the receiver , so that we dont handle any FM events 14453ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru * when out of the FM application screen 14463ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru */ 14473ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14483ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru unregisterReceiver(mReceiver); 14493ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 14503ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14513ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru public int getFmTxAppState() { 14523ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru Log.d(TAG, "getFmTxAppState()"); 14533ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru return mAppState; 14543ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14553ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru } 14563ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14573ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru 14583ece7d9e08052989401e008bc397dbcd2557cfd0Jean-Baptiste Queru} 1459