diff options
author | Tyler Gunn <tgunn@google.com> | 2017-08-11 18:14:02 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-08-11 18:14:02 +0000 |
commit | 21e4dbb6ed4de098d226b849ec71e49bcbd6f5f1 (patch) | |
tree | e21b4c28c36ca9d498266cc32681dedbd152f5a4 | |
parent | a46600e0e7425937fd530ff6a49394043566c636 (diff) | |
parent | 71c29cfad971aba24475d16698e5243316006b66 (diff) | |
download | base-21e4dbb6ed4de098d226b849ec71e49bcbd6f5f1.tar.gz |
Merge changes from topic 'call-session-may'
* changes:
Add callSessionMayHandover API to ImsCallSession.
IMS: Support for Possible Call Session Handover
3 files changed, 59 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java b/telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java index 12228a19fcc8..6c18935d16ef 100644 --- a/telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java +++ b/telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java @@ -196,6 +196,23 @@ public class ImsCallSessionListenerImplBase extends IImsCallSessionListener.Stub } /** + * Notifies of a case where a {@link com.android.ims.internal.ImsCallSession} may potentially + * handover from one radio technology to another. + * @param session + * @param srcAccessTech The source radio access technology; one of the access technology + * constants defined in {@link android.telephony.ServiceState}. For + * example {@link android.telephony.ServiceState#RIL_RADIO_TECHNOLOGY_LTE}. + * @param targetAccessTech The target radio access technology; one of the access technology + * constants defined in {@link android.telephony.ServiceState}. For + * example {@link android.telephony.ServiceState#RIL_RADIO_TECHNOLOGY_LTE}. + */ + @Override + public void callSessionMayHandover(IImsCallSession session, int srcAccessTech, + int targetAccessTech) { + // no-op + } + + /** * Notifies of handover information for this call */ @Override diff --git a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl index 49d596033cb3..748092d2a3bd 100644 --- a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl @@ -106,6 +106,8 @@ oneway interface IImsCallSessionListener { in int srcAccessTech, in int targetAccessTech, in ImsReasonInfo reasonInfo); void callSessionHandoverFailed(in IImsCallSession session, in int srcAccessTech, in int targetAccessTech, in ImsReasonInfo reasonInfo); + void callSessionMayHandover(in IImsCallSession session, + in int srcAccessTech, in int targetAccessTech); /** * Notifies the TTY mode change by remote party. diff --git a/telephony/java/com/android/ims/internal/ImsCallSession.java b/telephony/java/com/android/ims/internal/ImsCallSession.java index f20f7c881958..1736b80c562b 100644 --- a/telephony/java/com/android/ims/internal/ImsCallSession.java +++ b/telephony/java/com/android/ims/internal/ImsCallSession.java @@ -345,6 +345,24 @@ public class ImsCallSession { } /** + * Called when an {@link ImsCallSession} may handover from one radio technology to another. + * For example, the session may handover from WIFI to LTE if conditions are right. + * <p> + * If handover is attempted, + * {@link #callSessionHandover(ImsCallSession, int, int, ImsReasonInfo)} or + * {@link #callSessionHandoverFailed(ImsCallSession, int, int, ImsReasonInfo)} will be + * called to indicate the success or failure of the handover. + * + * @param session IMS session object + * @param srcAccessTech original access technology + * @param targetAccessTech new access technology + */ + public void callSessionMayHandover(ImsCallSession session, int srcAccessTech, + int targetAccessTech) { + // no-op + } + + /** * Called when session access technology changes * * @param session IMS session object @@ -1281,6 +1299,28 @@ public class ImsCallSession { } /** + * Notifies of a case where a {@link com.android.ims.internal.ImsCallSession} may + * potentially handover from one radio technology to another. + * @param session + * @param srcAccessTech The source radio access technology; one of the access technology + * constants defined in {@link android.telephony.ServiceState}. For + * example + * {@link android.telephony.ServiceState#RIL_RADIO_TECHNOLOGY_LTE}. + * @param targetAccessTech The target radio access technology; one of the access technology + * constants defined in {@link android.telephony.ServiceState}. For + * example + * {@link android.telephony.ServiceState#RIL_RADIO_TECHNOLOGY_LTE}. + */ + @Override + public void callSessionMayHandover(IImsCallSession session, + int srcAccessTech, int targetAccessTech) { + if (mListener != null) { + mListener.callSessionMayHandover(ImsCallSession.this, srcAccessTech, + targetAccessTech); + } + } + + /** * Notifies of handover information for this call */ @Override |