FM: Configure repeat count for PS string

Added support for setting repeat count for PS string
to get refined PS string from receiver.

CRs-Fixed: 474719
Change-Id: I709d10a2d8b1693194c3b114ab821bfb8791ed51
diff --git a/qcom/fmradio/FmReceiver.java b/qcom/fmradio/FmReceiver.java
index 3d179af..ac32ff9 100644
--- a/qcom/fmradio/FmReceiver.java
+++ b/qcom/fmradio/FmReceiver.java
@@ -1888,6 +1888,16 @@
       return mControl.setCFOMeanTh(sFd, th);
    }
 
+   public boolean setPSRxRepeatCount(int count) {
+      int state = getFMState();
+      /* Check current state of FM device */
+      if (state == FMState_Turned_Off){
+          Log.d(TAG, "setRxRepeatcount failed");
+          return false;
+      }
+      return mControl.setPSRxRepeatCount(sFd, count);
+   }
+
    /*==============================================================
    FUNCTION:  setRdsGroupOptions
    ==============================================================*/
diff --git a/qcom/fmradio/FmRxControls.java b/qcom/fmradio/FmRxControls.java
index ff3366e..ad69496 100644
--- a/qcom/fmradio/FmRxControls.java
+++ b/qcom/fmradio/FmRxControls.java
@@ -94,6 +94,7 @@
    private static final int V4L2_CID_PRIVATE_CF0TH12                       = V4L2_CID_PRIVATE_BASE + 0x3A;
    private static final int V4L2_CID_PRIVATE_SINRFIRSTSTAGE                = V4L2_CID_PRIVATE_BASE + 0x3B;
    private static final int V4L2_CID_PRIVATE_RMSSIFIRSTSTAGE               = V4L2_CID_PRIVATE_BASE + 0x3C;
+   private static final int V4L2_CID_PRIVATE_RXREPEATCOUNT                 = V4L2_CID_PRIVATE_BASE + 0x3D;
 
    private static final int V4L2_CTRL_CLASS_USER = 0x980000;
    private static final int V4L2_CID_BASE        = V4L2_CTRL_CLASS_USER | 0x900;
@@ -660,4 +661,14 @@
       }
    }
 
+   public boolean setPSRxRepeatCount(int fd, int count) {
+      int ret;
+      ret = FmReceiverJNI.setControlNative(fd, V4L2_CID_PRIVATE_RXREPEATCOUNT, count);
+      if (ret < 0) {
+          return false;
+      } else {
+          return true;
+      }
+   }
+
 }