Promotion of fm.lnx.1.0-00007.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
958512   I78521f425d7419f3a3d577cc573560d3601b1b1e   Reset notch filter only if it is set.

Change-Id: Ifb4eb821183fd6c8adc0dbe1c7729f5642558dbb
CRs-Fixed: 958512
diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index 65e42bb..b610187 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -216,6 +216,8 @@
    private static final int FM_OFF_FROM_APPLICATION = 1;
    private static final int FM_OFF_FROM_ANTENNA = 2;
 
+   private static Object mNotchFilterLock = new Object();
+
    public FMRadioService() {
    }
 
@@ -1434,14 +1436,13 @@
                  }
          } else {
                if (mReceiver != null) {
-                   if( true == mNotchFilterSet )
-                   {
-                       mDelayedStopHandler.removeMessages(RESET_NOTCH_FILTER);
-                   }
-                   else
-                   {
-                       mReceiver.setNotchFilter(true);
-                       mNotchFilterSet = true;
+                   synchronized (mNotchFilterLock) {
+                       if (true == mNotchFilterSet) {
+                           mDelayedStopHandler.removeMessages(RESET_NOTCH_FILTER);
+                       } else {
+                           mReceiver.setNotchFilter(true);
+                           mNotchFilterSet = true;
+                       }
                    }
                }
          }
@@ -1471,9 +1472,13 @@
               stopSelf(mServiceStartId);
               break;
           case RESET_NOTCH_FILTER:
-              if (mReceiver != null) {
-                  mReceiver.setNotchFilter(false);
-                  mNotchFilterSet = false;
+              synchronized (mNotchFilterLock) {
+                  if (false == mNotchFilterSet)
+                      break;
+                  if (mReceiver != null) {
+                      mReceiver.setNotchFilter(false);
+                      mNotchFilterSet = false;
+                  }
               }
               break;
           case STOPSERVICE_ONSLEEP: