summaryrefslogtreecommitdiff
path: root/telephony/java/com/android/ims
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2020-09-23 16:54:20 -0700
committerBrad Ebinger <breadley@google.com>2020-10-21 13:24:22 -0700
commitc50aeb319a64c9a0cfd715fc30f02bb63d8bdb1a (patch)
tree6ae882a3e81b00a3057647aa1337de6906eb66c5 /telephony/java/com/android/ims
parent7cfb31506e80caa47a30d465924d1de635dade9d (diff)
Pipe through new SipTransport IInterface to listeners
Create base SipTransport implementation and make it available to listeners. Expose new SipDelegate creation capability to the framework from the ImsService. The next CL will start the integration of the SipDelegateManager with the framework and SipTransport. Bug: 154763999 Test: atest FrameworksTelephonyTests TeleServiceTests Merged-In: I9a51b850f370a865c9d9109f238e8ed2eea4b6f6 Change-Id: I9a51b850f370a865c9d9109f238e8ed2eea4b6f6
Diffstat (limited to 'telephony/java/com/android/ims')
-rw-r--r--telephony/java/com/android/ims/ImsFeatureContainer.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/telephony/java/com/android/ims/ImsFeatureContainer.java b/telephony/java/com/android/ims/ImsFeatureContainer.java
index b259679ea1bf..80c1d43480cc 100644
--- a/telephony/java/com/android/ims/ImsFeatureContainer.java
+++ b/telephony/java/com/android/ims/ImsFeatureContainer.java
@@ -17,12 +17,14 @@
package com.android.ims;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.ims.ImsService;
import android.telephony.ims.aidl.IImsConfig;
import android.telephony.ims.aidl.IImsRegistration;
+import android.telephony.ims.aidl.ISipTransport;
import android.telephony.ims.feature.ImsFeature;
import java.util.Objects;
@@ -49,6 +51,11 @@ public final class ImsFeatureContainer implements Parcelable {
public final IImsRegistration imsRegistration;
/**
+ * An optional interface containing the SIP transport implementation from the ImsService.
+ */
+ public final ISipTransport sipTransport;
+
+ /**
* State of the feature that is being tracked.
*/
private @ImsFeature.ImsState int mState = ImsFeature.STATE_UNAVAILABLE;
@@ -66,10 +73,11 @@ public final class ImsFeatureContainer implements Parcelable {
* @param initialCaps The initial capabilities that the ImsService supports.
*/
public ImsFeatureContainer(@NonNull IBinder iFace, @NonNull IImsConfig iConfig,
- @NonNull IImsRegistration iReg, long initialCaps) {
+ @NonNull IImsRegistration iReg, @Nullable ISipTransport transport, long initialCaps) {
imsFeature = iFace;
imsConfig = iConfig;
imsRegistration = iReg;
+ sipTransport = transport;
mCapabilities = initialCaps;
}
@@ -80,6 +88,7 @@ public final class ImsFeatureContainer implements Parcelable {
imsFeature = in.readStrongBinder();
imsConfig = IImsConfig.Stub.asInterface(in.readStrongBinder());
imsRegistration = IImsRegistration.Stub.asInterface(in.readStrongBinder());
+ sipTransport = ISipTransport.Stub.asInterface(in.readStrongBinder());
mState = in.readInt();
mCapabilities = in.readLong();
}
@@ -123,13 +132,15 @@ public final class ImsFeatureContainer implements Parcelable {
return imsFeature.equals(that.imsFeature) &&
imsConfig.equals(that.imsConfig) &&
imsRegistration.equals(that.imsRegistration) &&
+ sipTransport.equals(that.sipTransport) &&
mState == that.getState() &&
mCapabilities == that.getCapabilities();
}
@Override
public int hashCode() {
- return Objects.hash(imsFeature, imsConfig, imsRegistration, mState, mCapabilities);
+ return Objects.hash(imsFeature, imsConfig, imsRegistration, sipTransport, mState,
+ mCapabilities);
}
@Override
@@ -138,6 +149,7 @@ public final class ImsFeatureContainer implements Parcelable {
"imsFeature=" + imsFeature +
", imsConfig=" + imsConfig +
", imsRegistration=" + imsRegistration +
+ ", sipTransport=" + sipTransport +
", state=" + ImsFeature.STATE_LOG_MAP.get(mState) +
", capabilities = " + ImsService.getCapabilitiesString(mCapabilities) +
'}';
@@ -153,6 +165,7 @@ public final class ImsFeatureContainer implements Parcelable {
dest.writeStrongBinder(imsFeature);
dest.writeStrongInterface(imsConfig);
dest.writeStrongInterface(imsRegistration);
+ dest.writeStrongInterface(sipTransport);
dest.writeInt(mState);
dest.writeLong(mCapabilities);
}