Loading api/system-current.txt +2 −0 Original line number Original line Diff line number Diff line Loading @@ -6711,6 +6711,7 @@ package android.telephony.ims { method public int getServiceType(); method public int getServiceType(); method public static int getVideoStateFromCallType(int); method public static int getVideoStateFromCallType(int); method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile); method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile); method public boolean isEmergencyCallTesting(); method public boolean isVideoCall(); method public boolean isVideoCall(); method public boolean isVideoPaused(); method public boolean isVideoPaused(); method public static int presentationToOir(int); method public static int presentationToOir(int); Loading @@ -6719,6 +6720,7 @@ package android.telephony.ims { method public void setCallExtraInt(String, int); method public void setCallExtraInt(String, int); method public void setCallRestrictCause(int); method public void setCallRestrictCause(int); method public void setEmergencyCallRouting(int); method public void setEmergencyCallRouting(int); method public void setEmergencyCallTesting(boolean); method public void setEmergencyServiceCategories(int); method public void setEmergencyServiceCategories(int); method public void setEmergencyUrns(java.util.List<java.lang.String>); method public void setEmergencyUrns(java.util.List<java.lang.String>); method public void updateCallExtras(android.telephony.ims.ImsCallProfile); method public void updateCallExtras(android.telephony.ims.ImsCallProfile); Loading telephony/java/android/telephony/emergency/EmergencyNumber.java +38 −0 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.telephony.Rlog; import java.lang.annotation.Retention; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.HashSet; import java.util.List; import java.util.List; import java.util.Objects; import java.util.Objects; Loading Loading @@ -176,6 +177,12 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu * Bit-field which indicates the number is from the platform-maintained database. * Bit-field which indicates the number is from the platform-maintained database. */ */ public static final int EMERGENCY_NUMBER_SOURCE_DATABASE = 1 << 4; public static final int EMERGENCY_NUMBER_SOURCE_DATABASE = 1 << 4; /** * Bit-field which indicates the number is from test mode. * * @hide */ public static final int EMERGENCY_NUMBER_SOURCE_TEST = 1 << 5; /** Bit-field which indicates the number is from the modem config. */ /** Bit-field which indicates the number is from the modem config. */ public static final int EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG = public static final int EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG = EmergencyNumberSource.MODEM_CONFIG; EmergencyNumberSource.MODEM_CONFIG; Loading Loading @@ -326,6 +333,21 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu return mEmergencyServiceCategoryBitmask; return mEmergencyServiceCategoryBitmask; } } /** * Returns the bitmask of emergency service categories of the emergency number for * internal dialing. * * @return bitmask of the emergency service categories * * @hide */ public @EmergencyServiceCategories int getEmergencyServiceCategoryBitmaskInternalDial() { if (mEmergencyNumberSourceBitmask == EMERGENCY_NUMBER_SOURCE_DATABASE) { return EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED; } return mEmergencyServiceCategoryBitmask; } /** /** * Returns the emergency service categories of the emergency number. * Returns the emergency service categories of the emergency number. * * Loading Loading @@ -577,6 +599,7 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu emergencyNumberList.remove(i--); emergencyNumberList.remove(i--); } } } } Collections.sort(emergencyNumberList); } } /** /** Loading Loading @@ -613,6 +636,12 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu if (first.getEmergencyCallRouting() != second.getEmergencyCallRouting()) { if (first.getEmergencyCallRouting() != second.getEmergencyCallRouting()) { return false; return false; } } // Never merge two numbers if one of them is from test mode but the other one is not; // This supports to remove a number from the test mode. if (first.isFromSources(EMERGENCY_NUMBER_SOURCE_TEST) ^ second.isFromSources(EMERGENCY_NUMBER_SOURCE_TEST)) { return false; } return true; return true; } } Loading @@ -638,4 +667,13 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu } } return null; return null; } } /** * Validate Emergency Number address that only allows '0'-'9', '*', or '#' * * @hide */ public static boolean validateEmergencyNumberAddress(String address) { return address.matches("[0-9*#]+"); } } } telephony/java/android/telephony/ims/ImsCallProfile.java +27 −3 Original line number Original line Diff line number Diff line Loading @@ -347,6 +347,9 @@ public final class ImsCallProfile implements Parcelable { private @EmergencyCallRouting int mEmergencyCallRouting = private @EmergencyCallRouting int mEmergencyCallRouting = EmergencyNumber.EMERGENCY_CALL_ROUTING_UNKNOWN; EmergencyNumber.EMERGENCY_CALL_ROUTING_UNKNOWN; /** Indicates if the call is for testing purpose */ private boolean mEmergencyCallTesting = false; /** /** * Extras associated with this {@link ImsCallProfile}. * Extras associated with this {@link ImsCallProfile}. * <p> * <p> Loading Loading @@ -534,9 +537,10 @@ public final class ImsCallProfile implements Parcelable { + ", callType=" + mCallType + ", callType=" + mCallType + ", restrictCause=" + mRestrictCause + ", restrictCause=" + mRestrictCause + ", mediaProfile=" + mMediaProfile.toString() + ", mediaProfile=" + mMediaProfile.toString() + ", emergencyServiceCategories=" + mEmergencyCallRouting + ", emergencyServiceCategories=" + mEmergencyServiceCategories + ", emergencyUrns=" + mEmergencyUrns + ", emergencyUrns=" + mEmergencyUrns + ", emergencyCallRouting=" + mEmergencyCallRouting + " }"; + ", emergencyCallRouting=" + mEmergencyCallRouting + ", emergencyCallTesting=" + mEmergencyCallTesting + " }"; } } @Override @Override Loading @@ -554,6 +558,7 @@ public final class ImsCallProfile implements Parcelable { out.writeInt(mEmergencyServiceCategories); out.writeInt(mEmergencyServiceCategories); out.writeStringList(mEmergencyUrns); out.writeStringList(mEmergencyUrns); out.writeInt(mEmergencyCallRouting); out.writeInt(mEmergencyCallRouting); out.writeBoolean(mEmergencyCallTesting); } } private void readFromParcel(Parcel in) { private void readFromParcel(Parcel in) { Loading @@ -564,6 +569,7 @@ public final class ImsCallProfile implements Parcelable { mEmergencyServiceCategories = in.readInt(); mEmergencyServiceCategories = in.readInt(); mEmergencyUrns = in.createStringArrayList(); mEmergencyUrns = in.createStringArrayList(); mEmergencyCallRouting = in.readInt(); mEmergencyCallRouting = in.readInt(); mEmergencyCallTesting = in.readBoolean(); } } public static final Creator<ImsCallProfile> CREATOR = new Creator<ImsCallProfile>() { public static final Creator<ImsCallProfile> CREATOR = new Creator<ImsCallProfile>() { Loading Loading @@ -784,9 +790,11 @@ public final class ImsCallProfile implements Parcelable { * @hide * @hide */ */ public void setEmergencyCallInfo(EmergencyNumber num) { public void setEmergencyCallInfo(EmergencyNumber num) { setEmergencyServiceCategories(num.getEmergencyServiceCategoryBitmask()); setEmergencyServiceCategories(num.getEmergencyServiceCategoryBitmaskInternalDial()); setEmergencyUrns(num.getEmergencyUrns()); setEmergencyUrns(num.getEmergencyUrns()); setEmergencyCallRouting(num.getEmergencyCallRouting()); setEmergencyCallRouting(num.getEmergencyCallRouting()); setEmergencyCallTesting(num.getEmergencyNumberSourceBitmask() == EmergencyNumber.EMERGENCY_NUMBER_SOURCE_TEST); } } /** /** Loading Loading @@ -842,6 +850,15 @@ public final class ImsCallProfile implements Parcelable { mEmergencyCallRouting = emergencyCallRouting; mEmergencyCallRouting = emergencyCallRouting; } } /** * Set if this is for testing emergency call, only valid if {@link #getServiceType} returns * {@link #SERVICE_TYPE_EMERGENCY}. */ @VisibleForTesting public void setEmergencyCallTesting(boolean isTesting) { mEmergencyCallTesting = isTesting; } /** /** * Get the emergency service categories, only valid if {@link #getServiceType} returns * Get the emergency service categories, only valid if {@link #getServiceType} returns * {@link #SERVICE_TYPE_EMERGENCY} * {@link #SERVICE_TYPE_EMERGENCY} Loading Loading @@ -892,4 +909,11 @@ public final class ImsCallProfile implements Parcelable { public @EmergencyCallRouting int getEmergencyCallRouting() { public @EmergencyCallRouting int getEmergencyCallRouting() { return mEmergencyCallRouting; return mEmergencyCallRouting; } } /** * Get if the emergency call is for testing purpose. */ public boolean isEmergencyCallTesting() { return mEmergencyCallTesting; } } } telephony/java/com/android/internal/telephony/ITelephony.aidl +11 −0 Original line number Original line Diff line number Diff line Loading @@ -42,6 +42,7 @@ import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SignalStrength; import android.telephony.TelephonyHistogram; import android.telephony.TelephonyHistogram; import android.telephony.VisualVoicemailSmsFilterSettings; import android.telephony.VisualVoicemailSmsFilterSettings; import android.telephony.emergency.EmergencyNumber; import android.telephony.ims.aidl.IImsCapabilityCallback; import android.telephony.ims.aidl.IImsCapabilityCallback; import android.telephony.ims.aidl.IImsConfig; import android.telephony.ims.aidl.IImsConfig; import android.telephony.ims.aidl.IImsConfigCallback; import android.telephony.ims.aidl.IImsConfigCallback; Loading Loading @@ -1793,6 +1794,16 @@ interface ITelephony { */ */ int setImsProvisioningString(int subId, int key, String value); int setImsProvisioningString(int subId, int key, String value); /** * Update Emergency Number List for Test Mode. */ void updateEmergencyNumberListTestMode(int action, in EmergencyNumber num); /** * Get the full emergency number list for Test Mode. */ List<String> getEmergencyNumberListTestMode(); /** /** * Enable or disable a logical modem stack associated with the slotIndex. * Enable or disable a logical modem stack associated with the slotIndex. */ */ Loading Loading
api/system-current.txt +2 −0 Original line number Original line Diff line number Diff line Loading @@ -6711,6 +6711,7 @@ package android.telephony.ims { method public int getServiceType(); method public int getServiceType(); method public static int getVideoStateFromCallType(int); method public static int getVideoStateFromCallType(int); method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile); method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile); method public boolean isEmergencyCallTesting(); method public boolean isVideoCall(); method public boolean isVideoCall(); method public boolean isVideoPaused(); method public boolean isVideoPaused(); method public static int presentationToOir(int); method public static int presentationToOir(int); Loading @@ -6719,6 +6720,7 @@ package android.telephony.ims { method public void setCallExtraInt(String, int); method public void setCallExtraInt(String, int); method public void setCallRestrictCause(int); method public void setCallRestrictCause(int); method public void setEmergencyCallRouting(int); method public void setEmergencyCallRouting(int); method public void setEmergencyCallTesting(boolean); method public void setEmergencyServiceCategories(int); method public void setEmergencyServiceCategories(int); method public void setEmergencyUrns(java.util.List<java.lang.String>); method public void setEmergencyUrns(java.util.List<java.lang.String>); method public void updateCallExtras(android.telephony.ims.ImsCallProfile); method public void updateCallExtras(android.telephony.ims.ImsCallProfile); Loading
telephony/java/android/telephony/emergency/EmergencyNumber.java +38 −0 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.telephony.Rlog; import java.lang.annotation.Retention; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.HashSet; import java.util.List; import java.util.List; import java.util.Objects; import java.util.Objects; Loading Loading @@ -176,6 +177,12 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu * Bit-field which indicates the number is from the platform-maintained database. * Bit-field which indicates the number is from the platform-maintained database. */ */ public static final int EMERGENCY_NUMBER_SOURCE_DATABASE = 1 << 4; public static final int EMERGENCY_NUMBER_SOURCE_DATABASE = 1 << 4; /** * Bit-field which indicates the number is from test mode. * * @hide */ public static final int EMERGENCY_NUMBER_SOURCE_TEST = 1 << 5; /** Bit-field which indicates the number is from the modem config. */ /** Bit-field which indicates the number is from the modem config. */ public static final int EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG = public static final int EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG = EmergencyNumberSource.MODEM_CONFIG; EmergencyNumberSource.MODEM_CONFIG; Loading Loading @@ -326,6 +333,21 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu return mEmergencyServiceCategoryBitmask; return mEmergencyServiceCategoryBitmask; } } /** * Returns the bitmask of emergency service categories of the emergency number for * internal dialing. * * @return bitmask of the emergency service categories * * @hide */ public @EmergencyServiceCategories int getEmergencyServiceCategoryBitmaskInternalDial() { if (mEmergencyNumberSourceBitmask == EMERGENCY_NUMBER_SOURCE_DATABASE) { return EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED; } return mEmergencyServiceCategoryBitmask; } /** /** * Returns the emergency service categories of the emergency number. * Returns the emergency service categories of the emergency number. * * Loading Loading @@ -577,6 +599,7 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu emergencyNumberList.remove(i--); emergencyNumberList.remove(i--); } } } } Collections.sort(emergencyNumberList); } } /** /** Loading Loading @@ -613,6 +636,12 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu if (first.getEmergencyCallRouting() != second.getEmergencyCallRouting()) { if (first.getEmergencyCallRouting() != second.getEmergencyCallRouting()) { return false; return false; } } // Never merge two numbers if one of them is from test mode but the other one is not; // This supports to remove a number from the test mode. if (first.isFromSources(EMERGENCY_NUMBER_SOURCE_TEST) ^ second.isFromSources(EMERGENCY_NUMBER_SOURCE_TEST)) { return false; } return true; return true; } } Loading @@ -638,4 +667,13 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu } } return null; return null; } } /** * Validate Emergency Number address that only allows '0'-'9', '*', or '#' * * @hide */ public static boolean validateEmergencyNumberAddress(String address) { return address.matches("[0-9*#]+"); } } }
telephony/java/android/telephony/ims/ImsCallProfile.java +27 −3 Original line number Original line Diff line number Diff line Loading @@ -347,6 +347,9 @@ public final class ImsCallProfile implements Parcelable { private @EmergencyCallRouting int mEmergencyCallRouting = private @EmergencyCallRouting int mEmergencyCallRouting = EmergencyNumber.EMERGENCY_CALL_ROUTING_UNKNOWN; EmergencyNumber.EMERGENCY_CALL_ROUTING_UNKNOWN; /** Indicates if the call is for testing purpose */ private boolean mEmergencyCallTesting = false; /** /** * Extras associated with this {@link ImsCallProfile}. * Extras associated with this {@link ImsCallProfile}. * <p> * <p> Loading Loading @@ -534,9 +537,10 @@ public final class ImsCallProfile implements Parcelable { + ", callType=" + mCallType + ", callType=" + mCallType + ", restrictCause=" + mRestrictCause + ", restrictCause=" + mRestrictCause + ", mediaProfile=" + mMediaProfile.toString() + ", mediaProfile=" + mMediaProfile.toString() + ", emergencyServiceCategories=" + mEmergencyCallRouting + ", emergencyServiceCategories=" + mEmergencyServiceCategories + ", emergencyUrns=" + mEmergencyUrns + ", emergencyUrns=" + mEmergencyUrns + ", emergencyCallRouting=" + mEmergencyCallRouting + " }"; + ", emergencyCallRouting=" + mEmergencyCallRouting + ", emergencyCallTesting=" + mEmergencyCallTesting + " }"; } } @Override @Override Loading @@ -554,6 +558,7 @@ public final class ImsCallProfile implements Parcelable { out.writeInt(mEmergencyServiceCategories); out.writeInt(mEmergencyServiceCategories); out.writeStringList(mEmergencyUrns); out.writeStringList(mEmergencyUrns); out.writeInt(mEmergencyCallRouting); out.writeInt(mEmergencyCallRouting); out.writeBoolean(mEmergencyCallTesting); } } private void readFromParcel(Parcel in) { private void readFromParcel(Parcel in) { Loading @@ -564,6 +569,7 @@ public final class ImsCallProfile implements Parcelable { mEmergencyServiceCategories = in.readInt(); mEmergencyServiceCategories = in.readInt(); mEmergencyUrns = in.createStringArrayList(); mEmergencyUrns = in.createStringArrayList(); mEmergencyCallRouting = in.readInt(); mEmergencyCallRouting = in.readInt(); mEmergencyCallTesting = in.readBoolean(); } } public static final Creator<ImsCallProfile> CREATOR = new Creator<ImsCallProfile>() { public static final Creator<ImsCallProfile> CREATOR = new Creator<ImsCallProfile>() { Loading Loading @@ -784,9 +790,11 @@ public final class ImsCallProfile implements Parcelable { * @hide * @hide */ */ public void setEmergencyCallInfo(EmergencyNumber num) { public void setEmergencyCallInfo(EmergencyNumber num) { setEmergencyServiceCategories(num.getEmergencyServiceCategoryBitmask()); setEmergencyServiceCategories(num.getEmergencyServiceCategoryBitmaskInternalDial()); setEmergencyUrns(num.getEmergencyUrns()); setEmergencyUrns(num.getEmergencyUrns()); setEmergencyCallRouting(num.getEmergencyCallRouting()); setEmergencyCallRouting(num.getEmergencyCallRouting()); setEmergencyCallTesting(num.getEmergencyNumberSourceBitmask() == EmergencyNumber.EMERGENCY_NUMBER_SOURCE_TEST); } } /** /** Loading Loading @@ -842,6 +850,15 @@ public final class ImsCallProfile implements Parcelable { mEmergencyCallRouting = emergencyCallRouting; mEmergencyCallRouting = emergencyCallRouting; } } /** * Set if this is for testing emergency call, only valid if {@link #getServiceType} returns * {@link #SERVICE_TYPE_EMERGENCY}. */ @VisibleForTesting public void setEmergencyCallTesting(boolean isTesting) { mEmergencyCallTesting = isTesting; } /** /** * Get the emergency service categories, only valid if {@link #getServiceType} returns * Get the emergency service categories, only valid if {@link #getServiceType} returns * {@link #SERVICE_TYPE_EMERGENCY} * {@link #SERVICE_TYPE_EMERGENCY} Loading Loading @@ -892,4 +909,11 @@ public final class ImsCallProfile implements Parcelable { public @EmergencyCallRouting int getEmergencyCallRouting() { public @EmergencyCallRouting int getEmergencyCallRouting() { return mEmergencyCallRouting; return mEmergencyCallRouting; } } /** * Get if the emergency call is for testing purpose. */ public boolean isEmergencyCallTesting() { return mEmergencyCallTesting; } } }
telephony/java/com/android/internal/telephony/ITelephony.aidl +11 −0 Original line number Original line Diff line number Diff line Loading @@ -42,6 +42,7 @@ import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SignalStrength; import android.telephony.TelephonyHistogram; import android.telephony.TelephonyHistogram; import android.telephony.VisualVoicemailSmsFilterSettings; import android.telephony.VisualVoicemailSmsFilterSettings; import android.telephony.emergency.EmergencyNumber; import android.telephony.ims.aidl.IImsCapabilityCallback; import android.telephony.ims.aidl.IImsCapabilityCallback; import android.telephony.ims.aidl.IImsConfig; import android.telephony.ims.aidl.IImsConfig; import android.telephony.ims.aidl.IImsConfigCallback; import android.telephony.ims.aidl.IImsConfigCallback; Loading Loading @@ -1793,6 +1794,16 @@ interface ITelephony { */ */ int setImsProvisioningString(int subId, int key, String value); int setImsProvisioningString(int subId, int key, String value); /** * Update Emergency Number List for Test Mode. */ void updateEmergencyNumberListTestMode(int action, in EmergencyNumber num); /** * Get the full emergency number list for Test Mode. */ List<String> getEmergencyNumberListTestMode(); /** /** * Enable or disable a logical modem stack associated with the slotIndex. * Enable or disable a logical modem stack associated with the slotIndex. */ */ Loading