Merge "Add call composer Extras for enriched calling" am: a4524a936a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1535174

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib8f600be59e66441764d1e8f4ecb7765b30e1026
This commit is contained in:
Shuo Qian
2021-01-06 04:11:56 +00:00
committed by Automerger Merge Worker
2 changed files with 84 additions and 0 deletions

View File

@@ -11063,6 +11063,7 @@ package android.telephony.ims {
method public boolean getCallExtraBoolean(String, boolean);
method public int getCallExtraInt(String);
method public int getCallExtraInt(String, int);
method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
method public android.os.Bundle getCallExtras();
method public int getCallType();
method public static int getCallTypeFromVideoState(int);
@@ -11085,6 +11086,7 @@ package android.telephony.ims {
method public void setCallExtra(String, String);
method public void setCallExtraBoolean(String, boolean);
method public void setCallExtraInt(String, int);
method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
method public void setCallRestrictCause(int);
method public void setCallerNumberVerificationStatus(int);
method public void setEmergencyCallRouting(int);
@@ -11119,6 +11121,7 @@ package android.telephony.ims {
field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
field public static final String EXTRA_CNA = "cna";
field public static final String EXTRA_CNAP = "cnap";
@@ -11128,8 +11131,11 @@ package android.telephony.ims {
field public static final String EXTRA_EMERGENCY_CALL = "e_call";
field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
field public static final String EXTRA_IS_CALL_PULL = "CallPull";
field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
field public static final String EXTRA_OI = "oi";
field public static final String EXTRA_OIR = "oir";
field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
field public static final String EXTRA_REMOTE_URI = "remote_uri";
field public static final String EXTRA_USSD = "ussd";
field public static final int OIR_DEFAULT = 0; // 0x0
@@ -11137,6 +11143,8 @@ package android.telephony.ims {
field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
field public static final int PRIORITY_NORMAL = 0; // 0x0
field public static final int PRIORITY_URGENT = 1; // 0x1
field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
field public static final int SERVICE_TYPE_NONE = 0; // 0x0
field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1

View File

@@ -18,6 +18,7 @@ package android.telephony.ims;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.compat.annotation.UnsupportedAppUsage;
@@ -206,6 +207,42 @@ public final class ImsCallProfile implements Parcelable {
public static final String EXTRA_RETRY_CALL_FAIL_NETWORKTYPE =
"android.telephony.ims.extra.RETRY_CALL_FAIL_NETWORKTYPE";
/**
* Extra for the call composer call priority, either {@link ImsCallProfile#PRIORITY_NORMAL} or
* {@link ImsCallProfile#PRIORITY_URGENT}. It can be set via
* {@link #setCallExtraInt(String, int)}.
*
* Reference: RCC.20 Section 2.4.4.2
*/
public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
// TODO(hallliu) remove the reference to the maximum length and update it later.
/**
* Extra for the call composer call subject, a string of maximum length 60 characters.
* It can be set via {@link #setCallExtra(String, String)}.
*
* Reference: RCC.20 Section 2.4.3.2
*/
public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
/**
* Extra for the call composer call location, an {@Link android.location.Location} parcelable
* class to represent the geolocation as a latitude and longitude pair. It can be set via
* {@link #setCallExtraParcelable(String, Parcelable)}.
*
* Reference: RCC.20 Section 2.4.3.2
*/
public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
/**
* Extra for the call composer picture URL, a String that indicates the URL on the carrier’s
* server infrastructure to get the picture. It can be set via
* {@link #setCallExtra(String, String)}.
*
* Reference: RCC.20 Section 2.4.3.2
*/
public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
/**
* Values for EXTRA_OIR / EXTRA_CNAP
*/
@@ -244,6 +281,21 @@ public final class ImsCallProfile implements Parcelable {
*/
public static final int DIALSTRING_USSD = 2;
// Values for EXTRA_PRIORITY
/**
* Indicates the call composer call priority is normal.
*
* Reference: RCC.20 Section 2.4.4.2
*/
public static final int PRIORITY_NORMAL = 0;
/**
* Indicates the call composer call priority is urgent.
*
* Reference: RCC.20 Section 2.4.4.2
*/
public static final int PRIORITY_URGENT = 1;
/**
* Call is not restricted on peer side and High Definition media is supported
*/
@@ -588,6 +640,19 @@ public final class ImsCallProfile implements Parcelable {
return mCallExtras.getInt(name, defaultValue);
}
/**
* Get the call extras (Parcelable), given the extra name.
* @param name call extra name
* @return the corresponding call extra Parcelable or null if not applicable
*/
@Nullable
public <T extends Parcelable> T getCallExtraParcelable(@Nullable String name) {
if (mCallExtras != null) {
return mCallExtras.getParcelable(name);
}
return null;
}
public void setCallExtra(String name, String value) {
if (mCallExtras != null) {
mCallExtras.putString(name, value);
@@ -606,6 +671,17 @@ public final class ImsCallProfile implements Parcelable {
}
}
/**
* Set the call extra value (Parcelable), given the call extra name.
* @param name call extra name
* @param parcelable call extra value
*/
public void setCallExtraParcelable(@NonNull String name, @NonNull Parcelable parcelable) {
if (mCallExtras != null) {
mCallExtras.putParcelable(name, parcelable);
}
}
/**
* Set the call restrict cause, which provides the reason why a call has been restricted from
* using High Definition media.