OSDN Git Service

IMS: Peer capabilities support
authorShriram Ganesh <sganesh@codeaurora.org>
Mon, 13 Oct 2014 18:31:50 +0000 (11:31 -0700)
committerEtan Cohen <etancohen@google.com>
Tue, 11 Nov 2014 16:36:15 +0000 (16:36 +0000)
Add support for querying peer capabilities

IMS: Add support for HD icon display related information

Added support to pass the restrict cause associated with the peer
in order to enable display of the HD icon when necessary.Added
support to pass local audio codec information and defined values
for new codecs not defined.

Change-Id: If05d46bdb3907a0ec7efdde48337a7932a7a5c21

telephony/java/com/android/ims/ImsCallProfile.java
telephony/java/com/android/ims/ImsStreamMediaProfile.java
telephony/java/com/android/ims/internal/IImsCallSession.aidl

index 8b7901c..9de938a 100644 (file)
@@ -114,6 +114,10 @@ public class ImsCallProfile implements Parcelable {
     public static final String EXTRA_CALL_MODE_CHANGEABLE = "call_mode_changeable";
     public static final String EXTRA_CONFERENCE_AVAIL = "conference_avail";
 
+    // Extra string for internal use only. OEMs should not use
+    // this for packing extras.
+    public static final String EXTRA_OEM_EXTRAS = "OemCallExtras";
+
     /**
      * Integer extra properties
      *  oir : Rule for originating identity (number) presentation, MO/MT.
@@ -151,6 +155,18 @@ public class ImsCallProfile implements Parcelable {
     public static final int DIALSTRING_USSD = 2;
 
     /**
+     * Values for causes that restrict call types
+     */
+    // Default cause not restricted at peer and HD is supported
+    public static final int CALL_RESTRICT_CAUSE_NONE = 0;
+    // Service not supported by RAT at peer
+    public static final int CALL_RESTRICT_CAUSE_RAT = 1;
+    // Service Disabled at peer
+    public static final int CALL_RESTRICT_CAUSE_DISABLED = 2;
+    // HD is not supported
+    public static final int CALL_RESTRICT_CAUSE_HD = 3;
+
+    /**
      * String extra properties
      *  oi : Originating identity (number), MT only
      *  cna : Calling name
@@ -164,11 +180,10 @@ public class ImsCallProfile implements Parcelable {
 
     public int mServiceType;
     public int mCallType;
+    public int mRestrictCause = CALL_RESTRICT_CAUSE_NONE;
     public Bundle mCallExtras;
     public ImsStreamMediaProfile mMediaProfile;
 
-
-
     public ImsCallProfile(Parcel in) {
         readFromParcel(in);
     }
index 003499c..359b270 100644 (file)
@@ -41,10 +41,18 @@ public class ImsStreamMediaProfile implements Parcelable {
      * Audio information
      */
     public static final int AUDIO_QUALITY_NONE = 0;
-    public static final int AUDIO_QUALITY_AMR = (1 << 0);
-    public static final int AUDIO_QUALITY_AMR_WB = (1 << 1);
-
-    /**
+    public static final int AUDIO_QUALITY_AMR = 1;
+    public static final int AUDIO_QUALITY_AMR_WB = 2;
+    public static final int AUDIO_QUALITY_QCELP13K = 3;
+    public static final int AUDIO_QUALITY_EVRC = 4;
+    public static final int AUDIO_QUALITY_EVRC_B = 5;
+    public static final int AUDIO_QUALITY_EVRC_WB = 6;
+    public static final int AUDIO_QUALITY_EVRC_NW = 7;
+    public static final int AUDIO_QUALITY_GSM_EFR = 8;
+    public static final int AUDIO_QUALITY_GSM_FR = 9;
+    public static final int AUDIO_QUALITY_GSM_HR = 10;
+
+   /**
      * Video information
      */
     public static final int VIDEO_QUALITY_NONE = 0;
index 16b0cd5..d1946e3 100644 (file)
@@ -55,6 +55,13 @@ interface IImsCallSession {
     ImsCallProfile getLocalCallProfile();
 
     /**
+     * Gets the remote call profile that this session is associated with
+     *
+     * @return the remote call profile that this session is associated with
+     */
+    ImsCallProfile getRemoteCallProfile();
+
+    /**
      * Gets the value associated with the specified property of this session.
      *
      * @return the string value associated with the specified property