Merge "fm: Removed header files path inclusion."
diff --git a/Android.mk b/Android.mk
index a08bbc1..60620d4 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,4 +1,4 @@
-ifeq ($(call is-vendor-board-platform,QCOM),true)
+ifneq (,$(filter $(QCOM_BOARD_PLATFORMS),$(TARGET_BOARD_PLATFORM)))
 LOCAL_PATH:= $(call my-dir)
 LOCAL_DIR_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
@@ -14,8 +14,6 @@
 
 include $(LOCAL_PATH)/jni/Android.mk
 LOCAL_PATH := $(LOCAL_DIR_PATH)
-include $(LOCAL_PATH)/fmapp/Android.mk
-LOCAL_PATH := $(LOCAL_DIR_PATH)
 include $(LOCAL_PATH)/fmapp2/Android.mk
 LOCAL_PATH := $(LOCAL_DIR_PATH)
 include $(LOCAL_PATH)/FMRecord/Android.mk
diff --git a/FMRecord/Android.mk b/FMRecord/Android.mk
index 00837f0..647b941 100644
--- a/FMRecord/Android.mk
+++ b/FMRecord/Android.mk
@@ -1,4 +1,4 @@
-ifeq ($(call is-vendor-board-platform,QCOM),true)
+ifneq (,$(filter $(QCOM_BOARD_PLATFORMS),$(TARGET_BOARD_PLATFORM)))
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
diff --git a/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java b/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
index e542512..4ca4645 100644
--- a/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
+++ b/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
@@ -92,6 +92,7 @@
     private Thread mStatusCheckThread = null;
     private int clientPid = -1;
     private String clientProcessName = "";
+    private BroadcastReceiver mSdcardUnmountReceiver = null;
 
     public void onCreate() {
 
@@ -99,6 +100,7 @@
         Log.d(TAG, "FMRecording Service onCreate");
         registerRecordingListner();
         registerShutdownListner();
+        registerStorageMediaListener();
     }
 
     public int onStartCommand(Intent intent, int flags, int startId) {
@@ -115,6 +117,7 @@
         }
         unregisterBroadCastReceiver(mFmRecordingReceiver);
         unregisterBroadCastReceiver(mFmShutdownReceiver);
+        unregisterBroadCastReceiver(mSdcardUnmountReceiver);
         super.onDestroy();
     }
 
@@ -196,6 +199,33 @@
         return true;
     }
 
+    private void registerStorageMediaListener() {
+        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 void sendRecordingStatusIntent(int status) {
         Intent intent = new Intent(ACTION_FM_RECORDING_STATUS);
         intent.putExtra("state", status);
diff --git a/fmapp/Android.mk b/fmapp/Android.mk
index 8692b8c..cb1f066 100644
--- a/fmapp/Android.mk
+++ b/fmapp/Android.mk
@@ -10,7 +10,7 @@
         src/com/codeaurora/fmradio/IFMTransmitterService.aidl \
 
 
-ifeq ($(call is-android-codename-in-list,JELLY_BEAN ICECREAM_SANDWICH HONEYCOMB),true)
+ifeq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) >= 11 ))" )))
 LOCAL_SRC_FILES +=  $(call all-java-files-under, src/com/codeaurora/hc_utils)
 else
 LOCAL_SRC_FILES +=  $(call all-java-files-under, src/com/codeaurora/utils)
diff --git a/fmapp/src/com/codeaurora/fmradio/FMTransmitterService.java b/fmapp/src/com/codeaurora/fmradio/FMTransmitterService.java
index e599e8d..d4c953c 100644
--- a/fmapp/src/com/codeaurora/fmradio/FMTransmitterService.java
+++ b/fmapp/src/com/codeaurora/fmradio/FMTransmitterService.java
@@ -1161,6 +1161,10 @@
         public void setCurrentClientId(int clientGeneration, PendingIntent clientMediaIntent,
                 boolean clearing) {
         }
+
+        @Override
+        public void setEnabled(boolean enabled) {
+        }
    }
 
    class Metadata {
diff --git a/fmapp2/Android.mk b/fmapp2/Android.mk
index 3985572..d899d9c 100644
--- a/fmapp2/Android.mk
+++ b/fmapp2/Android.mk
@@ -4,13 +4,13 @@
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src/com/caf/fmradio) \
-	src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl \
-	src/com/caf/fmradio/IFMRadioService.aidl \
-	src/com/caf/fmradio/IFMTransmitterServiceCallbacks.aidl \
-	src/com/caf/fmradio/IFMTransmitterService.aidl \
+        src/com/caf/fmradio/IFMRadioServiceCallbacks.aidl \
+        src/com/caf/fmradio/IFMRadioService.aidl \
+        src/com/caf/fmradio/IFMTransmitterServiceCallbacks.aidl \
+        src/com/caf/fmradio/IFMTransmitterService.aidl \
 
 
-ifeq ($(call is-android-codename-in-list,JELLY_BEAN ICECREAM_SANDWICH HONEYCOMB),true)
+ifeq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) >= 11 ))" )))
 LOCAL_SRC_FILES +=  $(call all-java-files-under, src/com/caf/hc_utils)
 else
 LOCAL_SRC_FILES +=  $(call all-java-files-under, src/com/caf/utils)
diff --git a/fmapp2/AndroidManifest.xml b/fmapp2/AndroidManifest.xml
index 57c0b23..aeb3a1c 100644
--- a/fmapp2/AndroidManifest.xml
+++ b/fmapp2/AndroidManifest.xml
@@ -48,12 +48,14 @@
     <application
         android:icon="@drawable/ic_launcher_fmradio"
         android:label="@string/app_name"
+        android:allowTaskReparenting="true"
+        android:taskAffinity="com.caf.task.fmradio"
         android:name=".FMAdapterApp">
         <activity android:icon="@drawable/ic_launcher_fmradio"
             android:name=".FMRadio"
             android:label="@string/app_name"
             android:clearTaskOnLaunch="true"
-            android:taskAffinity=""
+            android:allowTaskReparenting="true"
             android:launchMode="singleTask"
             android:excludeFromRecents="false" >
 
diff --git a/fmapp2/res/values-zh-rCN/strings.xml b/fmapp2/res/values-zh-rCN/strings.xml
index 1a5cdf3..0f09f18 100644
--- a/fmapp2/res/values-zh-rCN/strings.xml
+++ b/fmapp2/res/values-zh-rCN/strings.xml
@@ -106,5 +106,9 @@
     <string name="station_name_exist">已存在名为\"<xliff:g id="name">%s</xliff:g>\"的电台,请输入其他名称。</string>
     <!-- the title of rename dialog lack of translation -->
     <string name="dialog_presetlist_rename_title">"请输入名字"</string>
-
+    <string name="menu_display_tags">显示标签</string>
+    <string name="usr_def_band_min">下限频率(Mhz)</string>
+    <string name="usr_def_band_max">更高的频率限制(Mhz)</string>
+    <string name="sel_chanl_spacing">选择信道间隔</string>
+    <string name="chanl_spacing">信道间隔</string>
 </resources>
diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java
index 523bb1c..df97413 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadio.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadio.java
@@ -237,7 +237,7 @@
    private static boolean mIsSeeking = false;
    private static boolean mIsSearching = false;
    private static int mScanPty = 0;
-
+   private static int mScanPtyIndex = 0;
    private Animation mAnimation = null;
    private ScrollerText mRadioTextScroller = null;
    private ScrollerText mERadioTextScroller = null;
@@ -1049,6 +1049,7 @@
                                 Toast.LENGTH_SHORT);
                     int pty = Integer.parseInt(values[item]);
                     clearStationList();
+                    mScanPtyIndex = item;
                     initiateSearch(pty);
                  }
              }
@@ -1171,6 +1172,7 @@
    private Dialog createProgressDialog(int id) {
       String msgStr = "";
       String titleStr = "";
+      String []items;
       double frequency = mTunedStation.getFrequency() / 1000.0;
       boolean bSearchActive = false;
 
@@ -1178,10 +1180,20 @@
           msgStr = getString(R.string.msg_seeking);
           bSearchActive = true;
       }else if (isScanActive()) {
-          String ptyStr = PresetStation.parsePTY(mScanPty);
+          if(FmSharedPreferences.isRBDSStd()) {
+                items = getResources().
+                         getStringArray(R.array.search_category_rbds_entries);
+          }else { // if(FmSharedPreferences.isRDSStd())
+                items = getResources().
+                         getStringArray(R.array.search_category_rds_entries);
+          }
+          String ptyStr = "";
+          if (items.length > mScanPtyIndex)
+              ptyStr = items[mScanPtyIndex];
           if (!TextUtils.isEmpty(ptyStr)) {
              msgStr = getString(R.string.msg_scanning_pty, ptyStr);
           }else {
+             Log.d(LOGTAG, "pty is null\n");
              msgStr = getString(R.string.msg_scanning);
           }
           titleStr = getString(R.string.msg_search_title, ("" + frequency));
@@ -2606,6 +2618,7 @@
       public void run() {
          Log.d(LOGTAG, "mSearchComplete: ");
          mScanPty=0;
+         mScanPtyIndex = 0;
          mIsScaning = false;
          mIsSeeking = false;
          mIsSearching = false;
@@ -3023,6 +3036,7 @@
       public void onSearchComplete() {
          Log.d(LOGTAG, "mServiceCallbacks.onSearchComplete :");
          mScanPty = 0;
+         mScanPtyIndex = 0;
          mIsScaning = false;
          mIsSeeking = false;
          mIsSearching = false;
diff --git a/fmapp2/src/com/caf/fmradio/FMTransmitterService.java b/fmapp2/src/com/caf/fmradio/FMTransmitterService.java
index a720868..057eca5 100644
--- a/fmapp2/src/com/caf/fmradio/FMTransmitterService.java
+++ b/fmapp2/src/com/caf/fmradio/FMTransmitterService.java
@@ -1159,6 +1159,11 @@
         public void setCurrentClientId(int clientGeneration, PendingIntent clientMediaIntent,
                 boolean clearing) {
         }
+
+        @Override
+        public void setEnabled(boolean enabled) {
+        }
+
    }
 
    class Metadata {
diff --git a/jni/Android.mk b/jni/Android.mk
index b0333a0..c3b3a42 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -1,4 +1,4 @@
-ifeq ($(call is-vendor-board-platform,QCOM),true)
+ifneq (,$(filter $(QCOM_BOARD_PLATFORMS),$(TARGET_BOARD_PLATFORM)))
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)