summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fmapp2/src/com/caf/fmradio/FMRadio.java35
1 files changed, 26 insertions, 9 deletions
diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java
index 392a0df..94ca9e1 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadio.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadio.java
@@ -248,6 +248,9 @@ 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;
@@ -2109,6 +2112,23 @@ public class FMRadio extends Activity
}
}
+ private void saveStations() {
+ if (mScannedFrequencies != null && mScannedFrequencies.size() > 0) {
+ Collections.sort(mScannedFrequencies);
+ SharedPreferences sp = getSharedPreferences(SCAN_STATION_PREFS_NAME, 0);
+ SharedPreferences.Editor editor = sp.edit();
+
+ int index = 0;
+ for (Integer freq : mScannedFrequencies) {
+ index++;
+ editor.putString(STATION_NAME + index, index + "");
+ editor.putInt(STATION_FREQUENCY + index, freq);
+ }
+ editor.putInt(NUM_OF_STATIONS, index);
+ editor.commit();
+ }
+ }
+
private void setupPresetLayout() {
int numStations = FmSharedPreferences.getListStationCount();
int addedStations = 0;
@@ -2711,6 +2731,7 @@ public class FMRadio extends Activity
updateSearchProgress();
resetFMStationInfoUI();
invalidateOptionsMenu();
+ saveStations();
}
};
@@ -3123,15 +3144,11 @@ public class FMRadio extends Activity
Log.d(LOGTAG, "mServiceCallbacks.onTuneStatusChanged: ");
if (mIsScaning) {
Log.d(LOGTAG, "isScanning....................");
- SharedPreferences sp = getSharedPreferences(SCAN_STATION_PREFS_NAME, 0);
- SharedPreferences.Editor editor = sp.edit();
- int station_number = sp.getInt(NUM_OF_STATIONS, 0);
- station_number++;
- editor.putInt(NUM_OF_STATIONS, station_number);
- editor.putString(STATION_NAME + station_number, station_number + "");
- editor.putInt(STATION_FREQUENCY + station_number,
- FmSharedPreferences.getTunedFrequency());
- editor.commit();
+ if (mScannedFrequencies == null) {
+ mScannedFrequencies = new ArrayList<Integer>();
+ }
+
+ mScannedFrequencies.add(FmSharedPreferences.getTunedFrequency());
}
cleanupTimeoutHandler();
mHandler.post(mUpdateStationInfo);