Merge "FMStats: Update SINR value to fm data file for cherokee" into fm.lnx.2.1-dev
diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index a095d11..9546cd3 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -1441,6 +1441,7 @@
    //any. Similarly once call is ended FM should be unmuted.
        AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        mCallStatus = state;
+       int granted = AudioManager.AUDIOFOCUS_REQUEST_FAILED, count = 0;
 
        if((TelephonyManager.CALL_STATE_OFFHOOK == state)||
           (TelephonyManager.CALL_STATE_RINGING == state)) {
@@ -1475,9 +1476,21 @@
               if (isAntennaAvailable() && (!isFmOn()) && mServiceInUse)
               {
                    Log.d(LOGTAG, "Resuming after call:");
+                   do {
+                       granted = audioManager.requestAudioFocus(mAudioFocusListener,
+                               AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
+                       ++count;
+                       try {
+                           Thread.sleep(100);
+                       } catch (Exception ex) {
+                           Log.d( LOGTAG, "InterruptedException");
+                       }
+                   } while(granted != AudioManager.AUDIOFOCUS_REQUEST_GRANTED && count != 3);
+
                    if(true != fmOn()) {
                        return;
                    }
+
                    mResumeAfterCall = false;
                    if(mCallbacks != null) {
                       try {
diff --git a/fmapp2/src/com/caf/hc_utils/FrequencyPicker.java b/fmapp2/src/com/caf/hc_utils/FrequencyPicker.java
index 519b530..466cc0e 100644
--- a/fmapp2/src/com/caf/hc_utils/FrequencyPicker.java
+++ b/fmapp2/src/com/caf/hc_utils/FrequencyPicker.java
@@ -32,6 +32,7 @@
 import com.caf.fmradio.R;
 import android.widget.NumberPicker;
 import android.widget.NumberPicker.OnValueChangeListener;
+import android.graphics.Color;
 /**
  * A view for selecting the frequency
  *
@@ -85,6 +86,7 @@
         mMHzPicker = (NumberPicker) findViewById(R.id.mhz);
         if (mMHzPicker != null) {
            mMHzPicker.setOnLongPressUpdateInterval(100);
+           mMHzPicker.setBackgroundColor(Color.WHITE);
 
            mMHzPicker.setOnValueChangedListener(new OnValueChangeListener() {
               public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
@@ -100,6 +102,7 @@
         mKHzPicker = (NumberPicker) findViewById(R.id.khz);
         if (mKHzPicker != null) {
            mKHzPicker.setOnLongPressUpdateInterval(100);
+           mKHzPicker.setBackgroundColor(Color.WHITE);
            mKHzPicker.setOnValueChangedListener(new OnValueChangeListener() {
               public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
                   mKhz = newVal;
diff --git a/helium/radio_helium_hal.c b/helium/radio_helium_hal.c
index 4d02987..733c0a5 100644
--- a/helium/radio_helium_hal.c
+++ b/helium/radio_helium_hal.c
@@ -40,7 +40,7 @@
 
 int hci_fm_get_signal_threshold();
 int hci_fm_enable_recv_req();
-int hci_fm_mute_mode_req(struct hci_fm_mute_mode_req );
+int hci_fm_mute_mode_req(struct hci_fm_mute_mode_req *);
 static int oda_agt;
 static int grp_mask;
 static int rt_plus_carrier = -1;
@@ -1207,9 +1207,9 @@
     case HCI_FM_HELIUM_AUDIO_MUTE:
         saved_val = hal->radio->mute_mode.hard_mute;
         hal->radio->mute_mode.hard_mute = val;
-        ret = hci_fm_mute_mode_req(hal->radio->mute_mode);
+        ret = hci_fm_mute_mode_req(&hal->radio->mute_mode);
         if (ret < 0) {
-            ALOGE("%s:Error while set FM hard mute %d", LOG_TAG, ret);
+            ALOGE("%s:Error while set FM hard mute :%d", LOG_TAG, ret);
             hal->radio->mute_mode.hard_mute = saved_val;
         }
         break;
@@ -1633,6 +1633,9 @@
     case HCI_FM_HELIUM_LOWER_BAND:
         val = hal->radio->recv_conf.band_low_limit;
         break;
+    case HCI_FM_HELIUM_AUDIO_MUTE:
+        val = hal->radio->mute_mode.hard_mute;
+        return val;
     case HCI_FM_HELIUM_SINR_SAMPLES:
         set_bit(ch_det_th_mask_flag, CMD_CHDET_SINR_SAMPLE);
         ret = hci_fm_get_ch_det_th();