diff options
author | Pavel Zhamaitsiak <pavelz@google.com> | 2015-03-07 00:32:35 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-03-07 00:32:36 +0000 |
commit | 2f23212ce5e049e46e70ace1a997ca85746d6065 (patch) | |
tree | 8b93df6874a5b8bde4bdfd3b59ba821feb9d57a3 | |
parent | df5651dce73436444a15f0c824ee7e76393e0d9e (diff) | |
parent | b54d218d8b1c765865d0efb4a40e631f8bfa02de (diff) | |
download | frameworks_base-2f23212ce5e049e46e70ace1a997ca85746d6065.zip frameworks_base-2f23212ce5e049e46e70ace1a997ca85746d6065.tar.gz frameworks_base-2f23212ce5e049e46e70ace1a997ca85746d6065.tar.bz2 |
Merge "IMS: Support for IMS Registration error codes" into lmp-mr1-wfc-dev
-rw-r--r-- | telephony/java/com/android/ims/ImsReasonInfo.java | 56 | ||||
-rw-r--r-- | telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl | 8 |
2 files changed, 26 insertions, 38 deletions
diff --git a/telephony/java/com/android/ims/ImsReasonInfo.java b/telephony/java/com/android/ims/ImsReasonInfo.java index 0b1246b..9628915 100644 --- a/telephony/java/com/android/ims/ImsReasonInfo.java +++ b/telephony/java/com/android/ims/ImsReasonInfo.java @@ -25,26 +25,6 @@ import android.os.Parcelable; * @hide */ public class ImsReasonInfo implements Parcelable { - - /** - * Reason types, defines the error category. - * UNSPECIFIED - unknown error reason - * LOCAL - indicates the local/device error reason - * LOCAL_TIMEOUT - indicates the local error reason when a specific timer is expired - * STATUSCODE - indicates the interworking error reason by SIP status code received - * from the network - * MEDIA - indicates the media error reason (local resource, SDP parameter, etc.) - * USER - indicates the error reason by the local or remote user - * UT - indicates the error reason for the supplementary service configuration - */ - public static final int TYPE_UNSPECIFIED = 0; - public static final int TYPE_LOCAL = 1; - public static final int TYPE_TIMEOUT = 2; - public static final int TYPE_STATUSCODE = 3; - public static final int TYPE_MEDIA = 4; - public static final int TYPE_USER = 5; - public static final int TYPE_UT = 8; - /** * Specific code of each types */ @@ -229,23 +209,37 @@ public class ImsReasonInfo implements Parcelable { public static final int CODE_ECBM_NOT_SUPPORTED = 901; /** + * 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; + + /** * Network string error messages. * mExtraMessage may have these values. */ public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service"; - // For reason type - public int mReasonType; // For main reason code public int mCode; // For the extra code value; it depends on the code value. public int mExtraCode; // For the additional message of the reason info. public String mExtraMessage; - public ImsReasonInfo() { - mReasonType = TYPE_UNSPECIFIED; mCode = CODE_UNSPECIFIED; mExtraCode = CODE_UNSPECIFIED; mExtraMessage = null; @@ -256,14 +250,12 @@ public class ImsReasonInfo implements Parcelable { } public ImsReasonInfo(int code, int extraCode) { - mReasonType = (int) (code / 100); mCode = code; mExtraCode = extraCode; mExtraMessage = null; } public ImsReasonInfo(int code, int extraCode, String extraMessage) { - mReasonType = (int) (code / 100); mCode = code; mExtraCode = extraCode; mExtraMessage = extraMessage; @@ -291,20 +283,12 @@ public class ImsReasonInfo implements Parcelable { } /** - * - */ - public int getReasonType() { - return mReasonType; - } - - /** * Returns the string format of {@link ImsReasonInfo} * * @return the string format of {@link ImsReasonInfo} */ public String toString() { - return "ImsReasonInfo :: {" + mReasonType + ", " - + mCode + ", " + mExtraCode + ", " + mExtraMessage + "}"; + return "ImsReasonInfo :: {" + mCode + ", " + mExtraCode + ", " + mExtraMessage + "}"; } @Override @@ -314,14 +298,12 @@ public class ImsReasonInfo implements Parcelable { @Override public void writeToParcel(Parcel out, int flags) { - out.writeInt(mReasonType); out.writeInt(mCode); out.writeInt(mExtraCode); out.writeString(mExtraMessage); } private void readFromParcel(Parcel in) { - mReasonType = in.readInt(); mCode = in.readInt(); mExtraCode = in.readInt(); mExtraMessage = in.readString(); diff --git a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl index 1413e58..c910600 100644 --- a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl @@ -16,6 +16,7 @@ package com.android.ims.internal; +import com.android.ims.ImsReasonInfo; /** * A listener type for receiving notifications about the changes to * the IMS connection(registration). @@ -29,9 +30,14 @@ interface IImsRegistrationListener { void registrationConnected(); /** + * Notifies the application when the device is trying to connect the IMS network. + */ + void registrationProgressing(); + + /** * Notifies the application when the device is disconnected from the IMS network. */ - void registrationDisconnected(); + void registrationDisconnected(in ImsReasonInfo imsReasonInfo); /** * Notifies the application when its suspended IMS connection is resumed, |