summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Gunn <tgunn@google.com>2017-08-11 18:14:02 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-08-11 18:14:02 +0000
commit21e4dbb6ed4de098d226b849ec71e49bcbd6f5f1 (patch)
treee21b4c28c36ca9d498266cc32681dedbd152f5a4
parenta46600e0e7425937fd530ff6a49394043566c636 (diff)
parent71c29cfad971aba24475d16698e5243316006b66 (diff)
downloadbase-21e4dbb6ed4de098d226b849ec71e49bcbd6f5f1.tar.gz
Merge changes from topic 'call-session-may'
* changes: Add callSessionMayHandover API to ImsCallSession. IMS: Support for Possible Call Session Handover
-rw-r--r--telephony/java/android/telephony/ims/stub/ImsCallSessionListenerImplBase.java17
-rw-r--r--telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl2
-rw-r--r--telephony/java/com/android/ims/internal/ImsCallSession.java40
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