Merge "Add Emergency service categories in ImsCallProfile"
This commit is contained in:
@@ -5873,6 +5873,7 @@ package android.telephony.ims {
|
|||||||
method public android.os.Bundle getCallExtras();
|
method public android.os.Bundle getCallExtras();
|
||||||
method public int getCallType();
|
method public int getCallType();
|
||||||
method public static int getCallTypeFromVideoState(int);
|
method public static int getCallTypeFromVideoState(int);
|
||||||
|
method public int getEmergencyServiceCategories();
|
||||||
method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
|
method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
|
||||||
method public int getRestrictCause();
|
method public int getRestrictCause();
|
||||||
method public int getServiceType();
|
method public int getServiceType();
|
||||||
@@ -5885,6 +5886,7 @@ package android.telephony.ims {
|
|||||||
method public void setCallExtraBoolean(java.lang.String, boolean);
|
method public void setCallExtraBoolean(java.lang.String, boolean);
|
||||||
method public void setCallExtraInt(java.lang.String, int);
|
method public void setCallExtraInt(java.lang.String, int);
|
||||||
method public void setCallRestrictCause(int);
|
method public void setCallRestrictCause(int);
|
||||||
|
method public void setEmergencyServiceCategories(int);
|
||||||
method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
|
method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
|
||||||
method public void updateCallType(android.telephony.ims.ImsCallProfile);
|
method public void updateCallType(android.telephony.ims.ImsCallProfile);
|
||||||
method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
|
method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
package android.telephony.emergency;
|
package android.telephony.emergency;
|
||||||
|
|
||||||
import android.annotation.IntDef;
|
import android.annotation.IntDef;
|
||||||
|
import android.annotation.NonNull;
|
||||||
import android.hardware.radio.V1_4.EmergencyNumberSource;
|
import android.hardware.radio.V1_4.EmergencyNumberSource;
|
||||||
import android.hardware.radio.V1_4.EmergencyServiceCategory;
|
import android.hardware.radio.V1_4.EmergencyServiceCategory;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
@@ -196,7 +197,7 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu
|
|||||||
private final int mEmergencyNumberSourceBitmask;
|
private final int mEmergencyNumberSourceBitmask;
|
||||||
|
|
||||||
/** @hide */
|
/** @hide */
|
||||||
public EmergencyNumber(String number, String countryIso,
|
public EmergencyNumber(@NonNull String number, @NonNull String countryIso,
|
||||||
int emergencyServiceCategories,
|
int emergencyServiceCategories,
|
||||||
int emergencyNumberSources) {
|
int emergencyNumberSources) {
|
||||||
this.mNumber = number;
|
this.mNumber = number;
|
||||||
@@ -403,7 +404,7 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu
|
|||||||
* 0 if both have equal display priority.
|
* 0 if both have equal display priority.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int compareTo(EmergencyNumber emergencyNumber) {
|
public int compareTo(@NonNull EmergencyNumber emergencyNumber) {
|
||||||
if (this.getDisplayPriorityScore()
|
if (this.getDisplayPriorityScore()
|
||||||
> emergencyNumber.getDisplayPriorityScore()) {
|
> emergencyNumber.getDisplayPriorityScore()) {
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ import android.os.Bundle;
|
|||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.telecom.VideoProfile;
|
import android.telecom.VideoProfile;
|
||||||
|
import android.telephony.emergency.EmergencyNumber;
|
||||||
|
import android.telephony.emergency.EmergencyNumber.EmergencyServiceCategories;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.internal.telephony.PhoneConstants;
|
import com.android.internal.telephony.PhoneConstants;
|
||||||
@@ -294,6 +296,28 @@ public final class ImsCallProfile implements Parcelable {
|
|||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public @CallRestrictCause int mRestrictCause = CALL_RESTRICT_CAUSE_NONE;
|
public @CallRestrictCause int mRestrictCause = CALL_RESTRICT_CAUSE_NONE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The emergency service categories, only valid if {@link #getServiceType} returns
|
||||||
|
* {@link #SERVICE_TYPE_EMERGENCY}
|
||||||
|
*
|
||||||
|
* If valid, the value is the bitwise-OR combination of the following constants:
|
||||||
|
* <ol>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li>
|
||||||
|
* </ol>
|
||||||
|
*
|
||||||
|
* Reference: 3gpp 23.167, Section 6 - Functional description;
|
||||||
|
* 3gpp 22.101, Section 10 - Emergency Calls.
|
||||||
|
*/
|
||||||
|
private @EmergencyServiceCategories int mEmergencyServiceCategories =
|
||||||
|
EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extras associated with this {@link ImsCallProfile}.
|
* Extras associated with this {@link ImsCallProfile}.
|
||||||
* <p>
|
* <p>
|
||||||
@@ -495,6 +519,7 @@ public final class ImsCallProfile implements Parcelable {
|
|||||||
out.writeInt(mCallType);
|
out.writeInt(mCallType);
|
||||||
out.writeBundle(filteredExtras);
|
out.writeBundle(filteredExtras);
|
||||||
out.writeParcelable(mMediaProfile, 0);
|
out.writeParcelable(mMediaProfile, 0);
|
||||||
|
out.writeInt(mEmergencyServiceCategories);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readFromParcel(Parcel in) {
|
private void readFromParcel(Parcel in) {
|
||||||
@@ -502,6 +527,7 @@ public final class ImsCallProfile implements Parcelable {
|
|||||||
mCallType = in.readInt();
|
mCallType = in.readInt();
|
||||||
mCallExtras = in.readBundle();
|
mCallExtras = in.readBundle();
|
||||||
mMediaProfile = in.readParcelable(ImsStreamMediaProfile.class.getClassLoader());
|
mMediaProfile = in.readParcelable(ImsStreamMediaProfile.class.getClassLoader());
|
||||||
|
mEmergencyServiceCategories = in.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Creator<ImsCallProfile> CREATOR = new Creator<ImsCallProfile>() {
|
public static final Creator<ImsCallProfile> CREATOR = new Creator<ImsCallProfile>() {
|
||||||
@@ -710,4 +736,53 @@ public final class ImsCallProfile implements Parcelable {
|
|||||||
private static boolean isVideoStateSet(int videoState, int videoStateToCheck) {
|
private static boolean isVideoStateSet(int videoState, int videoStateToCheck) {
|
||||||
return (videoState & videoStateToCheck) == videoStateToCheck;
|
return (videoState & videoStateToCheck) == videoStateToCheck;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the emergency service categories. The set value is valid only if
|
||||||
|
* {@link #getServiceType} returns {@link #SERVICE_TYPE_EMERGENCY}
|
||||||
|
*
|
||||||
|
* If valid, the value is the bitwise-OR combination of the following constants:
|
||||||
|
* <ol>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li>
|
||||||
|
* </ol>
|
||||||
|
*
|
||||||
|
* Reference: 3gpp 23.167, Section 6 - Functional description;
|
||||||
|
* 3gpp 22.101, Section 10 - Emergency Calls.
|
||||||
|
*/
|
||||||
|
public void setEmergencyServiceCategories(
|
||||||
|
@EmergencyServiceCategories int emergencyServiceCategories) {
|
||||||
|
mEmergencyServiceCategories = emergencyServiceCategories;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the emergency service categories, only valid if {@link #getServiceType} returns
|
||||||
|
* {@link #SERVICE_TYPE_EMERGENCY}
|
||||||
|
*
|
||||||
|
* @return the emergency service categories,
|
||||||
|
*
|
||||||
|
* If valid, the value is the bitwise-OR combination of the following constants:
|
||||||
|
* <ol>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_POLICE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AMBULANCE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li>
|
||||||
|
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li>
|
||||||
|
* </ol>
|
||||||
|
*
|
||||||
|
* Reference: 3gpp 23.167, Section 6 - Functional description;
|
||||||
|
* 3gpp 22.101, Section 10 - Emergency Calls.
|
||||||
|
*/
|
||||||
|
public @EmergencyServiceCategories int getEmergencyServiceCategories() {
|
||||||
|
return mEmergencyServiceCategories;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user