am 7635aab1: Merge "IMS: Peer capabilities support" into lmp-mr1-dev
automerge: 5ff25cb

* commit '5ff25cb76cad3406e365d4cfe86b3820245e9d46':
  IMS: Peer capabilities support
diff --git a/telephony/java/com/android/ims/ImsCallProfile.java b/telephony/java/com/android/ims/ImsCallProfile.java
index 8b7901c..9de938a 100644
--- a/telephony/java/com/android/ims/ImsCallProfile.java
+++ b/telephony/java/com/android/ims/ImsCallProfile.java
@@ -114,6 +114,10 @@
     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 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 int mServiceType;
     public int mCallType;
+    public int mRestrictCause = CALL_RESTRICT_CAUSE_NONE;
     public Bundle mCallExtras;
     public ImsStreamMediaProfile mMediaProfile;
 
-
-
     public ImsCallProfile(Parcel in) {
         readFromParcel(in);
     }
diff --git a/telephony/java/com/android/ims/ImsStreamMediaProfile.java b/telephony/java/com/android/ims/ImsStreamMediaProfile.java
index 003499c..359b270 100644
--- a/telephony/java/com/android/ims/ImsStreamMediaProfile.java
+++ b/telephony/java/com/android/ims/ImsStreamMediaProfile.java
@@ -41,10 +41,18 @@
      * 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;
diff --git a/telephony/java/com/android/ims/internal/IImsCallSession.aidl b/telephony/java/com/android/ims/internal/IImsCallSession.aidl
index 16b0cd5..d1946e3 100644
--- a/telephony/java/com/android/ims/internal/IImsCallSession.aidl
+++ b/telephony/java/com/android/ims/internal/IImsCallSession.aidl
@@ -55,6 +55,13 @@
     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