diff options
| -rw-r--r-- | api/system-current.txt | 6 | ||||
| -rw-r--r-- | telephony/java/android/telephony/ims/ImsReasonInfo.java | 466 | ||||
| -rw-r--r-- | telephony/java/android/telephony/ims/ImsSsData.java | 79 | ||||
| -rw-r--r-- | telephony/java/android/telephony/ims/ImsSsInfo.java | 12 |
4 files changed, 389 insertions, 174 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index aa66133c2330..18ff66c0c500 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6222,12 +6222,6 @@ package android.telephony.ims { method public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int); } - public static abstract class ImsSsInfo.ClirInterrogationStatus implements java.lang.annotation.Annotation { - } - - public static abstract class ImsSsInfo.ClirOutgoingState implements java.lang.annotation.Annotation { - } - public final class ImsStreamMediaProfile implements android.os.Parcelable { ctor public ImsStreamMediaProfile(int, int, int, int, int); method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile); diff --git a/telephony/java/android/telephony/ims/ImsReasonInfo.java b/telephony/java/android/telephony/ims/ImsReasonInfo.java index 8fcdb6e90569..f1245959b3a8 100644 --- a/telephony/java/android/telephony/ims/ImsReasonInfo.java +++ b/telephony/java/android/telephony/ims/ImsReasonInfo.java @@ -16,11 +16,15 @@ package android.telephony.ims; +import android.annotation.IntDef; import android.annotation.SystemApi; import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * This class enables an application to get details on why a method call failed. * @@ -30,158 +34,292 @@ import android.os.Parcelable; public final class ImsReasonInfo implements Parcelable { /** - * Specific code of each types + * The Reason is unspecified. */ public static final int CODE_UNSPECIFIED = 0; + + // LOCAL + + // IMS -> Telephony /** - * LOCAL + * The passed argument is invalid. */ - // IMS -> Telephony - // The passed argument is an invalid public static final int CODE_LOCAL_ILLEGAL_ARGUMENT = 101; - // The operation is invoked in invalid call state + /** + * The operation was invoked while in an invalid call state. + */ public static final int CODE_LOCAL_ILLEGAL_STATE = 102; - // IMS service internal error + /** + * IMS service internal error + */ public static final int CODE_LOCAL_INTERNAL_ERROR = 103; - // IMS service goes down (service connection is lost) + /** + * ImsService has crashed (service connection is lost). + */ public static final int CODE_LOCAL_IMS_SERVICE_DOWN = 106; - // No pending incoming call exists + /** + * No pending incoming call exists + */ public static final int CODE_LOCAL_NO_PENDING_CALL = 107; - // IMS Call ended during conference merge process + /** + * IMS Call ended during conference merge process + */ public static final int CODE_LOCAL_ENDED_BY_CONFERENCE_MERGE = 108; // IMS -> Telephony - // Service unavailable; by power off + /** + * Service unavailable; radio power off + */ public static final int CODE_LOCAL_POWER_OFF = 111; - // Service unavailable; by low battery + /** + * Service unavailable; low battery + */ public static final int CODE_LOCAL_LOW_BATTERY = 112; - // Service unavailable; by out of service (data service state) + /** + * Service unavailable; out of service (data service state) + */ public static final int CODE_LOCAL_NETWORK_NO_SERVICE = 121; - // Service unavailable; by no LTE coverage - // (VoLTE is not supported even though IMS is registered) + /** + * Service unavailable; no LTE coverage + * (VoLTE is not supported even though IMS is registered) + */ public static final int CODE_LOCAL_NETWORK_NO_LTE_COVERAGE = 122; - // Service unavailable; by located in roaming area + /** + * Service unavailable; located in roaming area + */ public static final int CODE_LOCAL_NETWORK_ROAMING = 123; - // Service unavailable; by IP changed + /** + * Service unavailable; IP changed + */ public static final int CODE_LOCAL_NETWORK_IP_CHANGED = 124; - // Service unavailable; other + /** + * Service unavailable; for an unspecified reason + */ public static final int CODE_LOCAL_SERVICE_UNAVAILABLE = 131; - // Service unavailable; IMS connection is lost (IMS is not registered) + /** + * Service unavailable; IMS is not registered + */ public static final int CODE_LOCAL_NOT_REGISTERED = 132; // IMS <-> Telephony - // Max call exceeded + /** + * Maximum number of simultaneous calls exceeded + */ public static final int CODE_LOCAL_CALL_EXCEEDED = 141; // IMS <- Telephony - // Call busy + /** + * The call is busy. + */ public static final int CODE_LOCAL_CALL_BUSY = 142; - // Call decline + /** + * The Call has been declined locally on this device. + */ public static final int CODE_LOCAL_CALL_DECLINE = 143; // IMS -> Telephony - // SRVCC is in progress + /** + * Can not complete call; an SRVCC is in progress. + */ public static final int CODE_LOCAL_CALL_VCC_ON_PROGRESSING = 144; - // Resource reservation is failed (QoS precondition) + /** + * Can not complete call; resource reservation is failed (QoS precondition) + */ public static final int CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED = 145; - // Retry CS call; VoLTE service can't be provided by the network or remote end - // Resolve the extra code(EXTRA_CODE_CALL_RETRY_*) if the below code is set + /** + * VoLTE service can't be provided by the network or remote end, retry the call. + * Resolve the extra code provided in (EXTRA_CODE_CALL_RETRY_*) if the below code is set + */ public static final int CODE_LOCAL_CALL_CS_RETRY_REQUIRED = 146; - // Retry VoLTE call; VoLTE service can't be provided by the network temporarily + /** + * VoLTE service can't be provided by the network temporarily, retry the call. + */ public static final int CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED = 147; - // IMS call is already terminated (in TERMINATED state) + /** + * IMS call is already terminated (in TERMINATED state). + */ public static final int CODE_LOCAL_CALL_TERMINATED = 148; - // Handover not feasible + /** + * Call was disconnected because a handover is not feasible due to network conditions. + */ public static final int CODE_LOCAL_HO_NOT_FEASIBLE = 149; - /** + /* * TIMEOUT (IMS -> Telephony) */ - // 1xx waiting timer is expired after sending INVITE request (MO only) + /** + * 1xx waiting timer is expired after sending INVITE request (MO calls only) + */ public static final int CODE_TIMEOUT_1XX_WAITING = 201; - // User no answer during call setup operation (MO/MT) - // MO : 200 OK to INVITE request is not received, - // MT : No action from user after alerting the call + /** + * User didn't answer during call setup operation (MO/MT) + * MO : 200 OK to INVITE request is not received, + * MT : No action from user after alerting the call + */ public static final int CODE_TIMEOUT_NO_ANSWER = 202; - // User no answer during call update operation (MO/MT) - // MO : 200 OK to re-INVITE request is not received, - // MT : No action from user after alerting the call + /** + * User no answer during call update operation (MO/MT) + * MO : 200 OK to re-INVITE request is not received, + * MT : No action from user after alerting the call + */ public static final int CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE = 203; - //Call was blocked by call barring + /** + * The call was blocked by call barring configuration. + */ public static final int CODE_CALL_BARRED = 240; - //Call failures for FDN + /** + * The operation is restricted to fixed dialing numbers only. + */ public static final int CODE_FDN_BLOCKED = 241; - // Network does not accept the emergency call request because IMEI was used as identification - // and this capability is not supported by the network. + /** + * Network rejected the emergency call request because IMEI was used as identification + * and this capability is not supported by the network. + */ public static final int CODE_IMEI_NOT_ACCEPTED = 243; //STK CC errors + /** + * Stk Call Control modified DIAL request to USSD request. + */ public static final int CODE_DIAL_MODIFIED_TO_USSD = 244; + /** + * Stk Call Control modified DIAL request to SS request. + */ public static final int CODE_DIAL_MODIFIED_TO_SS = 245; + /** + * Stk Call Control modified DIAL request to DIAL with modified data. + */ public static final int CODE_DIAL_MODIFIED_TO_DIAL = 246; + /** + * Stk Call Control modified DIAL request to Video DIAL request. + */ public static final int CODE_DIAL_MODIFIED_TO_DIAL_VIDEO = 247; + /** + * Stk Call Control modified Video DIAL request to DIAL request. + */ public static final int CODE_DIAL_VIDEO_MODIFIED_TO_DIAL = 248; + /** + * Stk Call Control modified Video DIAL request to Video DIAL request. + */ public static final int CODE_DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO = 249; + /** + * Stk Call Control modified Video DIAL request to SS request. + */ public static final int CODE_DIAL_VIDEO_MODIFIED_TO_SS = 250; + /** + * Stk Call Control modified Video DIAL request to USSD request. + */ public static final int CODE_DIAL_VIDEO_MODIFIED_TO_USSD = 251; - /** + /* * STATUSCODE (SIP response code) (IMS -> Telephony) */ // 3xx responses - // SIP request is redirected + /** + * SIP 3xx response: SIP request is redirected + */ public static final int CODE_SIP_REDIRECTED = 321; // 4xx responses - // 400 : Bad Request + /** + * Sip 400 response : Bad Request + */ public static final int CODE_SIP_BAD_REQUEST = 331; - // 403 : Forbidden + /** + * Sip 403 response : Forbidden + */ public static final int CODE_SIP_FORBIDDEN = 332; - // 404 : Not Found + /** + * Sip 404 response : Not Found + */ public static final int CODE_SIP_NOT_FOUND = 333; - // 415 : Unsupported Media Type - // 416 : Unsupported URI Scheme - // 420 : Bad Extension + /** + * Not supported, because of one of the following: + * SIP response 415 : Unsupported Media Type, + * SIP response 416 : Unsupported URI Scheme, + * SIP response 420 : Bad Extension + */ public static final int CODE_SIP_NOT_SUPPORTED = 334; - // 408 : Request Timeout + /** + * SIP response 408 : Request Timeout. + */ public static final int CODE_SIP_REQUEST_TIMEOUT = 335; - // 480 : Temporarily Unavailable + /** + * SIP response 480 : Temporarily Unavailable + */ public static final int CODE_SIP_TEMPRARILY_UNAVAILABLE = 336; - // 484 : Address Incomplete + /** + * SIP response 484 : Address Incomplete + */ public static final int CODE_SIP_BAD_ADDRESS = 337; - // 486 : Busy Here - // 600 : Busy Everywhere + /** + * Returned a busy response, may be one of the following: + * SIP response 486 : Busy Here, + * SIP response 600 : Busy Everywhere + */ public static final int CODE_SIP_BUSY = 338; - // 487 : Request Terminated + /** + * SIP response 487 : Request Terminated + */ public static final int CODE_SIP_REQUEST_CANCELLED = 339; - // 406 : Not Acceptable - // 488 : Not Acceptable Here - // 606 : Not Acceptable + /** + * Received a not acceptable response, will be one of the following: + * SIP response 406 : Not Acceptable + * SIP response 488 : Not Acceptable Here + * SIP response 606 : Not Acceptable + */ public static final int CODE_SIP_NOT_ACCEPTABLE = 340; - // 410 : Gone - // 604 : Does Not Exist Anywhere + /** + * Received a not acceptable response, will be one of the following: + * SIP response 410 : Gone + * SIP response 604 : Does Not Exist Anywhere + */ public static final int CODE_SIP_NOT_REACHABLE = 341; - // Others + /** + * Received another unspecified error SIP response from the client. + */ public static final int CODE_SIP_CLIENT_ERROR = 342; - // 481 Transaction Does Not Exist + /** + * SIP response 481: Transaction Does Not Exist + */ public static final int CODE_SIP_TRANSACTION_DOES_NOT_EXIST = 343; // 5xx responses - // 501 : Server Internal Error + /** + * SIP response 501 : Server Internal Error + */ public static final int CODE_SIP_SERVER_INTERNAL_ERROR = 351; - // 503 : Service Unavailable + /** + * SIP response 503 : Service Unavailable + */ public static final int CODE_SIP_SERVICE_UNAVAILABLE = 352; - // 504 : Server Time-out + /** + * SIP response 504 : Server Time-out + */ public static final int CODE_SIP_SERVER_TIMEOUT = 353; - // Others + /** + * Received an unspecified SIP server error response. + */ public static final int CODE_SIP_SERVER_ERROR = 354; // 6xx responses - // 603 : Decline + /** + * 603 : Decline + */ public static final int CODE_SIP_USER_REJECTED = 361; - // Others + /** + * Unspecified 6xx error. + */ public static final int CODE_SIP_GLOBAL_ERROR = 362; - // Emergency failure + + /** + * Emergency call failed in the modem with a temporary fail cause and should be redialed on this + * slot. + */ public static final int CODE_EMERGENCY_TEMP_FAILURE = 363; + /** + * Emergency call failed in the modem with a permanent fail cause and should not be redialed on + * this slot. If there are any other slots available for emergency calling, try those. + */ public static final int CODE_EMERGENCY_PERM_FAILURE = 364; /** @@ -193,132 +331,188 @@ public final class ImsReasonInfo implements Parcelable { */ public static final int CODE_SIP_USER_MARKED_UNWANTED = 365; - /** + /* * MEDIA (IMS -> Telephony) */ - // Media resource initialization failed + /** + * Media resource initialization failed + */ public static final int CODE_MEDIA_INIT_FAILED = 401; - // RTP timeout (no audio / video traffic in the session) + /** + * RTP timeout (no audio / video traffic in the session) + */ public static final int CODE_MEDIA_NO_DATA = 402; - // Media is not supported; so dropped the call + /** + * Media is not supported; so dropped the call + */ public static final int CODE_MEDIA_NOT_ACCEPTABLE = 403; - // Unknown media related errors + /** + * Unspecified media related error. + */ public static final int CODE_MEDIA_UNSPECIFIED = 404; - /** + /* * USER */ // Telephony -> IMS - // User triggers the call end + /** + * User triggers the call to be terminated. + */ public static final int CODE_USER_TERMINATED = 501; - // No action while an incoming call is ringing + /** + * No action was taken while an incoming call was ringing. + */ public static final int CODE_USER_NOANSWER = 502; - // User ignores an incoming call + /** + * User ignored an incoming call. + */ public static final int CODE_USER_IGNORE = 503; - // User declines an incoming call + /** + * User declined an incoming call. + */ public static final int CODE_USER_DECLINE = 504; - // Device declines/ends a call due to low battery + /** + * Device declined/ended a call due to a low battery condition. + */ public static final int CODE_LOW_BATTERY = 505; - // Device declines call due to blacklisted call ID + /** + * Device declined a call due to a blacklisted caller ID. + */ public static final int CODE_BLACKLISTED_CALL_ID = 506; // IMS -> Telephony - // The call is terminated by the network or remote user - public static final int CODE_USER_TERMINATED_BY_REMOTE = 510; - /** - * Extra codes for the specific code value - * This value can be referred when the code is CODE_LOCAL_CALL_CS_RETRY_REQUIRED. + * The call has been terminated by the network or remote user. */ - // Try to connect CS call; normal - public static final int EXTRA_CODE_CALL_RETRY_NORMAL = 1; - // Try to connect CS call without the notification to user - public static final int EXTRA_CODE_CALL_RETRY_SILENT_REDIAL = 2; - // Try to connect CS call by the settings of the menu - public static final int EXTRA_CODE_CALL_RETRY_BY_SETTINGS = 3; + public static final int CODE_USER_TERMINATED_BY_REMOTE = 510; - /** + /* * UT */ + /** + * UT is currently not supported on this device. + */ public static final int CODE_UT_NOT_SUPPORTED = 801; + /** + * UT services are currently not available on this device. + */ public static final int CODE_UT_SERVICE_UNAVAILABLE = 802; + /** + * The requested UT operation is not allowed. + */ public static final int CODE_UT_OPERATION_NOT_ALLOWED = 803; + /** + * The UT request resulted in a network error. + */ public static final int CODE_UT_NETWORK_ERROR = 804; + /** + * The password entered for UT operations does not match the stored password. + */ public static final int CODE_UT_CB_PASSWORD_MISMATCH = 821; //STK CC errors + /** + * Sim Toolkit Call Control modified the UT operation to a dial command. + */ public static final int CODE_UT_SS_MODIFIED_TO_DIAL = 822; + /** + * Sim Toolkit Call Control modified the UT operation to a USSD command. + */ public static final int CODE_UT_SS_MODIFIED_TO_USSD = 823; + /** + * Sim Toolkit Call Control modified the UT operation to another supplementary service command. + */ public static final int CODE_UT_SS_MODIFIED_TO_SS = 824; + /** + * Sim Toolkit Call Control modified the UT operation to a video call dial command. + */ public static final int CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO = 825; + /**@hide*/ + @IntDef(value = { + CODE_UT_NOT_SUPPORTED, + CODE_UT_SERVICE_UNAVAILABLE, + CODE_UT_OPERATION_NOT_ALLOWED, + CODE_UT_NETWORK_ERROR, + CODE_UT_CB_PASSWORD_MISMATCH, + CODE_UT_SS_MODIFIED_TO_DIAL, + CODE_UT_SS_MODIFIED_TO_USSD, + CODE_UT_SS_MODIFIED_TO_SS, + CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO + }, prefix = "CODE_UT_") + @Retention(RetentionPolicy.SOURCE) + public @interface UtReason {} + /** - * ECBM + * Emergency callback mode is not supported. */ public static final int CODE_ECBM_NOT_SUPPORTED = 901; /** - * Fail code used to indicate that Multi-endpoint is not supported by the Ims framework. + * Fail code used to indicate that Multi-endpoint is not supported by the IMS framework. */ public static final int CODE_MULTIENDPOINT_NOT_SUPPORTED = 902; /** - * Ims Registration error code + * IMS Registration error code */ public static final int CODE_REGISTRATION_ERROR = 1000; - /** + /* * CALL DROP error codes (Call could drop because of many reasons like Network not available, * handover, failed, etc) */ - /** - * CALL DROP error code for the case when a device is ePDG capable and when the user is on an - * active wifi call and at the edge of coverage and there is no qualified LTE network available - * to handover the call to. We get a handover NOT_TRIGERRED message from the modem. This error - * code is received as part of the handover message. - */ - public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100; - - /** - * MT call has ended due to a release from the network - * because the call was answered elsewhere + * MT call has ended due to a release from the network because the call was answered elsewhere. */ public static final int CODE_ANSWERED_ELSEWHERE = 1014; /** - * For MultiEndpoint - Call Pull request has failed + * For MultiEndpoint - Call Pull request has failed. */ public static final int CODE_CALL_PULL_OUT_OF_SYNC = 1015; /** - * For MultiEndpoint - Call has been pulled from primary to secondary + * For MultiEndpoint - Call has been pulled from primary to secondary. */ public static final int CODE_CALL_END_CAUSE_CALL_PULL = 1016; /** - * Supplementary services (HOLD/RESUME) failure error codes. - * Values for Supplemetary services failure - Failed, Cancelled and Re-Invite collision. + * CALL DROP error code for the case when a device is ePDG capable and when the user is on an + * active wifi call and at the edge of coverage and there is no qualified LTE network available + * to handover the call to. We get a handover NOT_TRIGERRED message from the modem. This error + * code is received as part of the handover message. + */ + public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100; + + /** + * Supplementary Services (HOLD/RESUME) - the command failed. */ public static final int CODE_SUPP_SVC_FAILED = 1201; + /** + * Supplementary Services (HOLD/RESUME) - the command was cancelled. + */ public static final int CODE_SUPP_SVC_CANCELLED = 1202; + /** + * Supplementary Services (HOLD/RESUME) - the command resulted in a re-invite collision. + */ public static final int CODE_SUPP_SVC_REINVITE_COLLISION = 1203; /** - * DPD Procedure received no response or send failed + * DPD Procedure received no response or send failed. */ public static final int CODE_IWLAN_DPD_FAILURE = 1300; /** - * Establishment of the ePDG Tunnel Failed + * Establishment of the ePDG Tunnel Failed. */ public static final int CODE_EPDG_TUNNEL_ESTABLISH_FAILURE = 1400; /** - * Re-keying of the ePDG Tunnel Failed; may not always result in teardown + * Re-keying of the ePDG Tunnel Failed; may not always result in teardown. */ public static final int CODE_EPDG_TUNNEL_REKEY_FAILURE = 1401; /** - * Connection to the packet gateway is lost + * Connection to the packet gateway is lost. */ public static final int CODE_EPDG_TUNNEL_LOST_CONNECTION = 1402; @@ -571,8 +765,10 @@ public final class ImsReasonInfo implements Parcelable { */ public static final int CODE_REJECT_ONGOING_CS_CALL = 1621; - /* OEM specific error codes. To be used by OEMs when they don't want to - reveal error code which would be replaced by ERROR_UNSPECIFIED */ + /* + * OEM specific error codes. To be used by OEMs when they don't want to reveal error code which + * would be replaced by ERROR_UNSPECIFIED. + */ public static final int CODE_OEM_CAUSE_1 = 0xf001; public static final int CODE_OEM_CAUSE_2 = 0xf002; public static final int CODE_OEM_CAUSE_3 = 0xf003; @@ -597,6 +793,33 @@ public final class ImsReasonInfo implements Parcelable { = "Forbidden. Not Authorized for Service"; + /* + * Extra codes for the specific code value + * This value can be referred when the code is CODE_LOCAL_CALL_CS_RETRY_REQUIRED. + */ + /** + * An extra that may be populated when the {@link CODE_LOCAL_CALL_CS_RETRY_REQUIRED} result has + * been returned. + * <p> + * Try to connect the call using CS + */ + public static final int EXTRA_CODE_CALL_RETRY_NORMAL = 1; + /** + * An extra that may be populated when the {@link CODE_LOCAL_CALL_CS_RETRY_REQUIRED} result has + * been returned. + * <p> + * Try to connect the call using CS and do not notify the user. + */ + public static final int EXTRA_CODE_CALL_RETRY_SILENT_REDIAL = 2; + /** + * An extra that may be populated when the {@link CODE_LOCAL_CALL_CS_RETRY_REQUIRED} result has + * been returned. + * <p> + * Try to connect the call using CS by using the settings. + */ + public static final int EXTRA_CODE_CALL_RETRY_BY_SETTINGS = 3; + + // For main reason code /** @hide */ @UnsupportedAppUsage @@ -638,29 +861,28 @@ public final class ImsReasonInfo implements Parcelable { } /** - * + * @return an integer representing more information about the completion of an operation. */ public int getCode() { return mCode; } /** - * + * @return an optional OEM specified code that provides extra information. */ public int getExtraCode() { return mExtraCode; } /** - * + * @return an optional OEM specified string that provides extra information about the operation + * result. */ public String getExtraMessage() { return mExtraMessage; } /** - * Returns the string format of {@link ImsReasonInfo} - * * @return the string format of {@link ImsReasonInfo} */ public String toString() { diff --git a/telephony/java/android/telephony/ims/ImsSsData.java b/telephony/java/android/telephony/ims/ImsSsData.java index db5ba4784621..3a82517955ce 100644 --- a/telephony/java/android/telephony/ims/ImsSsData.java +++ b/telephony/java/android/telephony/ims/ImsSsData.java @@ -65,6 +65,17 @@ public final class ImsSsData implements Parcelable { public static final int SS_INCOMING_BARRING_DN = 21; public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; + + /**@hide*/ + @IntDef(flag = true, prefix = {"SS_"}, value = { + SS_ACTIVATION, + SS_DEACTIVATION, + SS_INTERROGATION, + SS_REGISTRATION, + SS_ERASURE}) + @Retention(RetentionPolicy.SOURCE) + public @interface RequestType{} + //Supplementary Service Request Types public static final int SS_ACTIVATION = 0; public static final int SS_DEACTIVATION = 1; @@ -72,6 +83,17 @@ public final class ImsSsData implements Parcelable { public static final int SS_REGISTRATION = 3; public static final int SS_ERASURE = 4; + /**@hide*/ + @IntDef(flag = true, prefix = {"SS_"}, value = { + SS_ALL_TELE_AND_BEARER_SERVICES, + SS_ALL_TELESEVICES, + SS_TELEPHONY, + SS_ALL_DATA_TELESERVICES, + SS_SMS_SERVICES, + SS_ALL_TELESERVICES_EXCEPT_SMS}) + @Retention(RetentionPolicy.SOURCE) + public @interface TeleserviceType{} + // Supplementary Service Teleservice Type public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; public static final int SS_ALL_TELESEVICES = 1; @@ -191,21 +213,6 @@ public final class ImsSsData implements Parcelable { @Retention(RetentionPolicy.SOURCE) public @interface ServiceType{} - /** @hide */ - @IntDef(flag = true, prefix = { "SERVICE_CLASS" }, value = { - SERVICE_CLASS_NONE, - SERVICE_CLASS_VOICE, - SERVICE_CLASS_DATA, - SERVICE_CLASS_FAX, - SERVICE_CLASS_SMS, - SERVICE_CLASS_DATA_CIRCUIT_SYNC, - SERVICE_CLASS_DATA_CIRCUIT_ASYNC, - SERVICE_CLASS_DATA_PACKET_ACCESS, - SERVICE_CLASS_DATA_PAD - }) - @Retention(RetentionPolicy.SOURCE) - public @interface ServiceClass{} - /** * The Service type of this Supplementary service. * @hide @@ -221,7 +228,7 @@ public final class ImsSsData implements Parcelable { * {@link #SS_ERASURE} * @hide */ - public final int requestType; + public final @RequestType int requestType; /** * Supplementary Service teleservice type: @@ -234,14 +241,14 @@ public final class ImsSsData implements Parcelable { * * @hide */ - public final int teleserviceType; + public final @TeleserviceType int teleserviceType; /** * Supplementary Service service class. * * @hide */ - public final @ServiceClass int serviceClass; + public final @ServiceClassFlags int serviceClass; /** * Result of Supplementary Service operation. Valid values are: @@ -285,7 +292,7 @@ public final class ImsSsData implements Parcelable { * @see #build() */ public Builder(@ServiceType int serviceType, int requestType, int teleserviceType, - @ServiceClass int serviceClass, int result) { + @ServiceClassFlags int serviceClass, int result) { mImsSsData = new ImsSsData(serviceType, requestType, teleserviceType, serviceClass, result); } @@ -294,7 +301,7 @@ public final class ImsSsData implements Parcelable { * Set the array of {@link ImsSsInfo}s that are associated with this supplementary service * data. */ - public Builder setSuppServiceInfo(@NonNull ImsSsInfo[] imsSsInfos) { + public @NonNull Builder setSuppServiceInfo(@NonNull ImsSsInfo[] imsSsInfos) { mImsSsData.mImsSsInfo = imsSsInfos; return this; } @@ -303,7 +310,8 @@ public final class ImsSsData implements Parcelable { * Set the array of {@link ImsCallForwardInfo}s that are associated with this supplementary * service data. */ - public Builder setCallForwardingInfo(@NonNull ImsCallForwardInfo[] imsCallForwardInfos) { + public @NonNull Builder setCallForwardingInfo( + @NonNull ImsCallForwardInfo[] imsCallForwardInfos) { mImsSsData.mCfInfo = imsCallForwardInfos; return this; } @@ -311,7 +319,7 @@ public final class ImsSsData implements Parcelable { /** * @return an {@link ImsSsData} containing optional parameters. */ - public ImsSsData build() { + public @NonNull ImsSsData build() { return mImsSsData; } } @@ -337,7 +345,7 @@ public final class ImsSsData implements Parcelable { * success, or ImsReasonInfo code if the result is a failure. */ public ImsSsData(@ServiceType int serviceType, int requestType, int teleserviceType, - @ServiceClass int serviceClass, int result) { + @ServiceClassFlags int serviceClass, int result) { this.serviceType = serviceType; this.requestType = requestType; this.teleserviceType = teleserviceType; @@ -449,14 +457,9 @@ public final class ImsSsData implements Parcelable { } /** - * Supplementary Service request Type: - * {@link #SS_ACTIVATION), - * {@link #SS_DEACTIVATION}, - * {@link #SS_INTERROGATION}, - * {@link #SS_REGISTRATION}, - * {@link #SS_ERASURE} + * Supplementary Service request Type. */ - public int getRequestType() { + public @RequestType int getRequestType() { return requestType; } @@ -468,31 +471,25 @@ public final class ImsSsData implements Parcelable { } /** - * Supplementary Service teleservice type: - * {@link #SS_ALL_TELE_AND_BEARER_SERVICES}, - * {@link #SS_ALL_TELESEVICES}, - * {@link #SS_TELEPHONY}, - * {@link #SS_ALL_DATA_TELESERVICES}, - * {@link #SS_SMS_SERVICES}, - * {@link #SS_ALL_TELESERVICES_EXCEPT_SMS} + * Supplementary Service teleservice type. */ - public int getTeleserviceType() { + public @TeleserviceType int getTeleserviceType() { return teleserviceType; } /** * Supplementary Service service class. */ - public @ServiceClass int getServiceClass() { + public @ServiceClassFlags int getServiceClass() { return serviceClass; } /** * Result of Supplementary Service operation. Valid values are: * {@link #RESULT_SUCCESS} if the result is success, or - * {@link ImsReasonInfo} CODE_* code if the result is a failure. + * {@link ImsReasonInfo.UtReason} code if the result is a failure. */ - public int getResult() { + public @ImsReasonInfo.UtReason int getResult() { return result; } diff --git a/telephony/java/android/telephony/ims/ImsSsInfo.java b/telephony/java/android/telephony/ims/ImsSsInfo.java index 0af6e6298c87..031f9e10175b 100644 --- a/telephony/java/android/telephony/ims/ImsSsInfo.java +++ b/telephony/java/android/telephony/ims/ImsSsInfo.java @@ -82,6 +82,7 @@ public final class ImsSsInfo implements Parcelable { */ public static final int SERVICE_PROVISIONED = 1; + /**@hide*/ @IntDef(value = { CLIR_OUTGOING_DEFAULT, CLIR_OUTGOING_INVOCATION, @@ -141,6 +142,7 @@ public final class ImsSsInfo implements Parcelable { */ public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; + /**@hide*/ @IntDef(value = { CLIR_STATUS_NOT_PROVISIONED, CLIR_STATUS_PROVISIONED_PERMANENT, @@ -184,7 +186,7 @@ public final class ImsSsInfo implements Parcelable { * Set the ICB number for IMS call barring. * @param number The number in E.164 international format. */ - public Builder setIncomingCommunicationBarringNumber(@NonNull String number) { + public @NonNull Builder setIncomingCommunicationBarringNumber(@NonNull String number) { mImsSsInfo.mIcbNum = number; return this; } @@ -192,7 +194,7 @@ public final class ImsSsInfo implements Parcelable { /** * Set the provisioning status for a Supplementary Service interrogation response. */ - public Builder setProvisionStatus(@ServiceProvisionStatus int provisionStatus) { + public @NonNull Builder setProvisionStatus(@ServiceProvisionStatus int provisionStatus) { mImsSsInfo.mProvisionStatus = provisionStatus; return this; } @@ -201,7 +203,7 @@ public final class ImsSsInfo implements Parcelable { * Set the Calling Line Identification Restriction (CLIR) status for a supplementary service * interrogation response. */ - public Builder setClirInterrogationStatus(@ClirInterrogationStatus int status) { + public @NonNull Builder setClirInterrogationStatus(@ClirInterrogationStatus int status) { mImsSsInfo.mClirInterrogationStatus = status; return this; } @@ -209,7 +211,7 @@ public final class ImsSsInfo implements Parcelable { /** * Set the Calling line identification Restriction (CLIR) state for outgoing calls. */ - public Builder setClirOutgoingState(@ClirOutgoingState int state) { + public @NonNull Builder setClirOutgoingState(@ClirOutgoingState int state) { mImsSsInfo.mClirOutgoingState = state; return this; } @@ -217,7 +219,7 @@ public final class ImsSsInfo implements Parcelable { /** * @return a built {@link ImsSsInfo} containing optional the parameters that were set. */ - public ImsSsInfo build() { + public @NonNull ImsSsInfo build() { return mImsSsInfo; } } |