diff options
Diffstat (limited to 'fmapp2/src')
-rw-r--r-- | fmapp2/src/com/caf/fmradio/FMRadio.java | 33 | ||||
-rw-r--r-- | fmapp2/src/com/caf/fmradio/FMRadioService.java | 14 | ||||
-rw-r--r-- | fmapp2/src/com/caf/fmradio/IFMRadioService.aidl | 1 |
3 files changed, 31 insertions, 17 deletions
diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java index d26a0cd..acccc9e 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadio.java +++ b/fmapp2/src/com/caf/fmradio/FMRadio.java @@ -248,9 +248,6 @@ public class FMRadio extends Activity private ScrollerText mRadioTextScroller = null; private ScrollerText mERadioTextScroller = null; - /* Scanning frequencies */ - ArrayList<Integer> mScannedFrequencies; - private PresetStation mTunedStation = new PresetStation("", 102100); private PresetStation mPresetButtonStation = null; @@ -522,7 +519,7 @@ public class FMRadio extends Activity } try { if (!mService.isSearchInProgress()) { - resetSearch(); + mServiceCallbacks.onSearchComplete(); } }catch (RemoteException e) { e.printStackTrace(); @@ -1741,9 +1738,6 @@ public class FMRadio extends Activity SharedPreferences.Editor editor = sp.edit(); editor.clear(); editor.commit(); - if (mScannedFrequencies != null) { - mScannedFrequencies.clear(); - } } public boolean fmConfigure() { boolean bStatus = true; @@ -2116,13 +2110,19 @@ public class FMRadio extends Activity } private void saveStations() { - if (mScannedFrequencies != null && mScannedFrequencies.size() > 0) { - Collections.sort(mScannedFrequencies); + List<Integer> scannedFrequencies = null; + try { + scannedFrequencies = mService.getScannedFrequencies(); + } catch (RemoteException e) { + e.printStackTrace(); + } + if (scannedFrequencies != null && scannedFrequencies.size() > 0) { + Collections.sort(scannedFrequencies); SharedPreferences sp = getSharedPreferences(SCAN_STATION_PREFS_NAME, 0); SharedPreferences.Editor editor = sp.edit(); int index = 0; - for (Integer freq : mScannedFrequencies) { + for (Integer freq : scannedFrequencies) { index++; editor.putString(STATION_NAME + index, index + ""); editor.putInt(STATION_FREQUENCY + index, freq); @@ -3149,11 +3149,6 @@ public class FMRadio extends Activity Log.d(LOGTAG, "mServiceCallbacks.onTuneStatusChanged: "); if (mIsScaning) { Log.d(LOGTAG, "isScanning...................."); - if (mScannedFrequencies == null) { - mScannedFrequencies = new ArrayList<Integer>(); - } - - mScannedFrequencies.add(FmSharedPreferences.getTunedFrequency()); } cleanupTimeoutHandler(); mHandler.post(mUpdateStationInfo); @@ -3180,7 +3175,13 @@ public class FMRadio extends Activity public void onSearchComplete() { Log.d(LOGTAG, "mServiceCallbacks.onSearchComplete :"); if (mIsScaning) { - if (mScannedFrequencies != null && mScannedFrequencies.size() > 0) { + List<Integer> scannedFrequencies = null; + try { + scannedFrequencies = mService.getScannedFrequencies(); + } catch (RemoteException e) { + e.printStackTrace(); + } + if (scannedFrequencies != null && !scannedFrequencies.isEmpty()) { mShowStationList = true; } else { mHandler.post(new Runnable() { diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java index d8c0fea..d19af3a 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadioService.java +++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java @@ -147,6 +147,7 @@ public class FMRadioService extends Service private boolean mA2dpDisconnected = false; private boolean mA2dpConnected = false; //PhoneStateListener instances corresponding to each + private ArrayList<Integer> mScannedFrequencies = new ArrayList<Integer>(); private FmRxRdsData mFMRxRDSData=null; // interval after which we stop the service when idle @@ -1981,6 +1982,9 @@ public class FMRadioService extends Service { return(mService.get().isSearchInProgress()); } + public List<Integer> getScannedFrequencies() { + return(mService.get().getScannedFrequencies()); + } } private final IBinder mBinder = new ServiceStub(this); @@ -2213,6 +2217,10 @@ public class FMRadioService extends Service return(bStatus); } + public List<Integer> getScannedFrequencies() { + return mScannedFrequencies; + } + public boolean isSearchInProgress() { int state = mReceiver.getFMState(); return state == qcom.fmradio.FmTransceiver.FMState_Srch_InProg; @@ -2486,6 +2494,8 @@ public class FMRadioService extends Service */ public boolean scan(int pty) { + // Clear previously scanned frequencies + mScannedFrequencies.clear(); boolean bCommandSent=false; if (mReceiver != null) { @@ -2983,7 +2993,6 @@ public class FMRadioService extends Service { Log.d(LOGTAG, "FmRxEvSetSignalThreshold"); } - public void FmRxEvRadioTuneStatus(int frequency) { Log.d(LOGTAG, "FmRxEvRadioTuneStatus: Tuned Frequency: " +frequency); @@ -2996,6 +3005,9 @@ public class FMRadioService extends Service if(mReceiver != null) { clearStationInfo(); } + if (isSearchInProgress()) { + mScannedFrequencies.add(frequency); + } if(mCallbacks != null) { mCallbacks.onTuneStatusChanged(); diff --git a/fmapp2/src/com/caf/fmradio/IFMRadioService.aidl b/fmapp2/src/com/caf/fmradio/IFMRadioService.aidl index 0b26459..48c2039 100644 --- a/fmapp2/src/com/caf/fmradio/IFMRadioService.aidl +++ b/fmapp2/src/com/caf/fmradio/IFMRadioService.aidl @@ -76,5 +76,6 @@ interface IFMRadioService boolean isRtPlusSupported(); boolean isA2DPConnected(); boolean isSearchInProgress(); + List getScannedFrequencies(); } |