Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1cd145aa authored by Shuo Qian's avatar Shuo Qian Committed by Android (Google) Code Review
Browse files

Merge "Add call composer Extras for enriched calling"

parents 53902e72 36b3dbc3
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -11527,6 +11527,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);
@@ -11549,6 +11550,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);
@@ -11583,6 +11585,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";
@@ -11592,8 +11595,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
@@ -11601,6 +11607,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
+76 −0
Original line number Diff line number Diff line
@@ -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.