Merge "FM-APP2: Fix band sweep test not working"
diff --git a/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java b/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
index 4657e36..3fb6446 100644
--- a/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
+++ b/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
@@ -61,7 +61,6 @@
 public class FMRecordingService extends Service {
     private static final String TAG     = "FMRecordingService";
     private BroadcastReceiver mFmRecordingReceiver = null;
-    private BroadcastReceiver mSdcardUnmountReceiver = null;
     public static final long UNAVAILABLE = -1L;
     public static final long PREPARING = -2L;
     public static final long UNKNOWN_SIZE = -3L;
@@ -84,7 +83,6 @@
         super.onCreate();
         Log.d(TAG, "FMRecording Service onCreate");
         registerRecordingListner();
-        registerExternalStorageListener();
     }
 
     public int onStartCommand(Intent intent, int flags, int startId) {
@@ -100,7 +98,6 @@
             stopRecord();
         }
         unregisterBroadCastReceiver(mFmRecordingReceiver);
-        unregisterBroadCastReceiver(mSdcardUnmountReceiver);
         super.onDestroy();
     }
 
@@ -116,38 +113,6 @@
            myreceiver = null;
        }
    }
-    /**
-      * Registers an intent to listen for ACTION_MEDIA_UNMOUNTED notifications.
-      * The intent will call closeExternalStorageFiles() if the external media
-      * is going to be ejected, so applications can clean up.
-      */
-    private void registerExternalStorageListener() {
-        if (mSdcardUnmountReceiver == null) {
-            mSdcardUnmountReceiver = new BroadcastReceiver() {
-                @Override
-                public void onReceive(Context context, Intent intent) {
-                    String action = intent.getAction();
-                    if ((action.equals(Intent.ACTION_MEDIA_UNMOUNTED))
-                         || (action.equals(Intent.ACTION_MEDIA_EJECT))) {
-
-                         Log.d(TAG, "ACTION_MEDIA_UNMOUNTED Intent received");
-                         if (mFmRecordingOn == true) {
-                             try {
-                                  stopRecord();
-                             } catch (Exception e) {
-                                  e.printStackTrace();
-                             }
-                         }
-                    }
-                }
-            };
-            IntentFilter iFilter = new IntentFilter();
-            iFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
-            iFilter.addAction(Intent.ACTION_MEDIA_EJECT);
-            iFilter.addDataScheme("file");
-            registerReceiver(mSdcardUnmountReceiver, iFilter);
-        }
-    }
 
     private static long getAvailableSpace() {
         String state = Environment.getExternalStorageState();
diff --git a/fmapp/res/values/arrays.xml b/fmapp/res/values/arrays.xml
index c453c6a..2fbe0d2 100644
--- a/fmapp/res/values/arrays.xml
+++ b/fmapp/res/values/arrays.xml
@@ -311,7 +311,7 @@
     <item>Netherlands (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>New Zealand (88.0MHz To 107.0MHz In 100 Khz Steps)</item>
     <item>Norway (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
-    <item>Poland (88.0MHz To 108.0MHz In 50 Khz Steps)</item>
+    <item>Poland (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Portugal (87.5MHz To 108.0MHz In 50 Khz Steps)</item>
     <item>Russia (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Singapore (88.0MHz To 108.0MHz In 100 Khz Steps)</item>
diff --git a/fmapp/src/com/codeaurora/fmradio/FMRadioService.java b/fmapp/src/com/codeaurora/fmradio/FMRadioService.java
index b3a2b42..3ca96e9 100644
--- a/fmapp/src/com/codeaurora/fmradio/FMRadioService.java
+++ b/fmapp/src/com/codeaurora/fmradio/FMRadioService.java
@@ -744,8 +744,10 @@
            //ACTION_FM=1 to AudioManager, the previous state of Speaker we set
            //need not be retained by the Audio Manager.
            if (isSpeakerEnabled()) {
-                   mSpeakerPhoneOn = true;
-                   AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER);
+               mSpeakerPhoneOn = true;
+               AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER);
+           } else {
+               AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_NONE);
            }
            AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_FM,
                                      AudioSystem.DEVICE_STATE_AVAILABLE, "");
diff --git a/fmapp/src/com/codeaurora/fmradio/FmSharedPreferences.java b/fmapp/src/com/codeaurora/fmradio/FmSharedPreferences.java
index ac4ac2c..247969c 100644
--- a/fmapp/src/com/codeaurora/fmradio/FmSharedPreferences.java
+++ b/fmapp/src/com/codeaurora/fmradio/FmSharedPreferences.java
@@ -990,11 +990,11 @@
         }
         case REGIONAL_BAND_POLAND:
         {
-          /*POLAND : 87500 TO 108000 IN 50 KHZ STEPS*/
+          /*POLAND : 87500 TO 108000 IN 100 KHZ STEPS*/
           mFMConfiguration.setRadioBand(FmReceiver.FM_EU_BAND);
-          mFMConfiguration.setChSpacing(FmReceiver.FM_CHSPACE_50_KHZ);
+          mFMConfiguration.setChSpacing(FmReceiver.FM_CHSPACE_100_KHZ);
           mFMConfiguration.setLowerLimit(87500);
-          mFrequencyBand_Stepsize = 50;
+          mFrequencyBand_Stepsize = 100;
           break;
         }
         case REGIONAL_BAND_PORTUGAL:
diff --git a/fmapp2/res/values/arrays.xml b/fmapp2/res/values/arrays.xml
index c453c6a..2fbe0d2 100644
--- a/fmapp2/res/values/arrays.xml
+++ b/fmapp2/res/values/arrays.xml
@@ -311,7 +311,7 @@
     <item>Netherlands (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>New Zealand (88.0MHz To 107.0MHz In 100 Khz Steps)</item>
     <item>Norway (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
-    <item>Poland (88.0MHz To 108.0MHz In 50 Khz Steps)</item>
+    <item>Poland (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Portugal (87.5MHz To 108.0MHz In 50 Khz Steps)</item>
     <item>Russia (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Singapore (88.0MHz To 108.0MHz In 100 Khz Steps)</item>
diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index f3b0a78..a0df1ef 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -731,8 +731,10 @@
            //ACTION_FM=1 to AudioManager, the previous state of Speaker we set
            //need not be retained by the Audio Manager.
            if (isSpeakerEnabled()) {
-                   mSpeakerPhoneOn = true;
-                   AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER);
+               mSpeakerPhoneOn = true;
+               AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER);
+           } else {
+               AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_NONE);
            }
            AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_FM,
                                AudioSystem.DEVICE_STATE_AVAILABLE, "");
@@ -902,7 +904,7 @@
            boolean bTempSpeaker = mSpeakerPhoneOn; //need to restore SpeakerPhone
            boolean bTempMute = mMuted;// need to restore Mute status
            int bTempCall = mCallStatus;//need to restore call status
-           if (fmOff()) {
+           if (isFmOn() && fmOff()) {
                if((mServiceInUse) && (mCallbacks != null)) {
                    try {
                         mCallbacks.onDisabled();
@@ -1037,9 +1039,8 @@
                           stopFM();
                       }
                       if (mSpeakerPhoneOn) {
-                          mSpeakerPhoneOn = false;
                           if (isAnalogModeSupported())
-                              setAudioPath(true);
+                              setAudioPath(false);
                       }
                       mStoppedOnFocusLoss = true;
                       break;
diff --git a/fmapp2/src/com/caf/fmradio/FmSharedPreferences.java b/fmapp2/src/com/caf/fmradio/FmSharedPreferences.java
index d44f06c..9835090 100644
--- a/fmapp2/src/com/caf/fmradio/FmSharedPreferences.java
+++ b/fmapp2/src/com/caf/fmradio/FmSharedPreferences.java
@@ -449,7 +449,6 @@
       mTunedFrequency = sp.getInt(PREF_LAST_TUNED_FREQUENCY, DEFAULT_NO_FREQUENCY);
       mRecordDuration = sp.getInt(LAST_RECORD_DURATION, RECORD_DUR_INDEX_0_VAL);
       mAFAutoSwitch = sp.getBoolean(LAST_AF_JUMP_VALUE, true);
-      mAudioOutputMode = sp.getBoolean(AUDIO_OUTPUT_MODE, true);
      /* Reset the Lists before reading the preferences */
       mListOfPlists.clear();
 
@@ -991,11 +990,11 @@
         }
         case REGIONAL_BAND_POLAND:
         {
-          /*POLAND : 87500 TO 108000 IN 50 KHZ STEPS*/
+          /*POLAND : 87500 TO 108000 IN 100 KHZ STEPS*/
           mFMConfiguration.setRadioBand(FmReceiver.FM_EU_BAND);
-          mFMConfiguration.setChSpacing(FmReceiver.FM_CHSPACE_50_KHZ);
+          mFMConfiguration.setChSpacing(FmReceiver.FM_CHSPACE_100_KHZ);
           mFMConfiguration.setLowerLimit(87500);
-          mFrequencyBand_Stepsize = 50;
+          mFrequencyBand_Stepsize = 100;
           break;
         }
         case REGIONAL_BAND_PORTUGAL: