IMS: add an ImsConfig api to get volte provisioned value.
Libin.Tang@motorola.com [Sun, 7 Dec 2014 18:49:07 +0000 (12:49 -0600)]
Bug: 18576107
Change-Id: I84c66089291ffb4051ed7ef70d4a2bcf4a24c3d7

src/java/com/android/ims/ImsConfig.java

index 6627a68..eb4ee01 100644 (file)
@@ -247,7 +247,7 @@ public class ImsConfig {
     /**
      * Gets the value for IMS service/capabilities parameters used by IMS stack.
      * This function should not be called from the mainthread as it could block the
-     * mainthread to cause ANR.
+     * mainthread.
      *
      * @param item, as defined in com.android.ims.ImsConfig#ConfigConstants.
      * @return the value in Integer format.
@@ -270,7 +270,7 @@ public class ImsConfig {
     /**
      * Gets the value for IMS service/capabilities parameters used by IMS stack.
      * This function should not be called from the mainthread as it could block the
-     * mainthread to cause ANR.
+     * mainthread.
      *
      * @param item, as defined in com.android.ims.ImsConfig#ConfigConstants.
      * @return value in String format.
@@ -294,7 +294,7 @@ public class ImsConfig {
      * Sets the value for IMS service/capabilities parameters by
      * the operator device management entity.
      * This function should not be called from main thread as it could block
-     * mainthread to cause ANR.
+     * mainthread.
      *
      * @param item, as defined in com.android.ims.ImsConfig#ConfigConstants.
      * @param value in Integer format.
@@ -326,6 +326,8 @@ public class ImsConfig {
     /**
      * Sets the value for IMS service/capabilities parameters by
      * the operator device management entity.
+     * This function should not be called from main thread as it could block
+     * mainthread.
      *
      * @param item, as defined in com.android.ims.ImsConfig#ConfigConstants.
      * @param value in String format.
@@ -399,4 +401,21 @@ public class ImsConfig {
                     ImsReasonInfo.CODE_LOCAL_SERVICE_UNAVAILABLE);
         }
     }
+
+    /**
+     * Gets the value for IMS Volte provisioned.
+     * It should be the same as operator provisioned value if applies.
+     *
+     * @return boolean
+     *
+     * @throws ImsException if calling the IMS service results in an error.
+     */
+    public boolean getVolteProvisioned() throws ImsException {
+        try {
+           return miConfig.getVolteProvisioned();
+        } catch (RemoteException e) {
+            throw new ImsException("getVolteProvisioned()", e,
+                    ImsReasonInfo.CODE_LOCAL_SERVICE_UNAVAILABLE);
+        }
+    }
 }