From 915a0307f2595f136ffc3267cc474139c8bcd56e Mon Sep 17 00:00:00 2001 From: Brad Ebinger Date: Sat, 12 Dec 2020 01:09:37 +0000 Subject: [PATCH] Expose APIs for SipTransport registration management Bug: 154763999 Test: atest CtsTelephonyTestCases:SipDelegateManagerTest Change-Id: Iabd0ce70fa3b2ce961fdf0bd05659f7ba936d798 --- core/api/system-current.txt | 2 ++ .../telephony/ims/aidl/IImsRegistration.aidl | 4 +++- .../ims/stub/ImsRegistrationImplBase.java | 15 +++++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index b782bc1949745..3ce9aa145d404 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -11628,6 +11628,8 @@ package android.telephony.ims.stub { method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]); method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo); method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String); + method public void triggerSipDelegateDeregistration(); + method public void updateSipDelegateRegistration(); field public static final int REGISTRATION_TECH_IWLAN = 1; // 0x1 field public static final int REGISTRATION_TECH_LTE = 0; // 0x0 field public static final int REGISTRATION_TECH_NONE = -1; // 0xffffffff diff --git a/telephony/java/android/telephony/ims/aidl/IImsRegistration.aidl b/telephony/java/android/telephony/ims/aidl/IImsRegistration.aidl index 298a98274dd93..4fd904041365f 100644 --- a/telephony/java/android/telephony/ims/aidl/IImsRegistration.aidl +++ b/telephony/java/android/telephony/ims/aidl/IImsRegistration.aidl @@ -29,4 +29,6 @@ interface IImsRegistration { oneway void addRegistrationCallback(IImsRegistrationCallback c); oneway void removeRegistrationCallback(IImsRegistrationCallback c); oneway void triggerFullNetworkRegistration(int sipCode, String sipReason); -} \ No newline at end of file + oneway void triggerUpdateSipDelegateRegistration(); + oneway void triggerSipDelegateDeregistration(); +} diff --git a/telephony/java/android/telephony/ims/stub/ImsRegistrationImplBase.java b/telephony/java/android/telephony/ims/stub/ImsRegistrationImplBase.java index aee24ffccc9eb..088a7e26a9d0e 100644 --- a/telephony/java/android/telephony/ims/stub/ImsRegistrationImplBase.java +++ b/telephony/java/android/telephony/ims/stub/ImsRegistrationImplBase.java @@ -38,6 +38,9 @@ import java.lang.annotation.RetentionPolicy; /** * Controls IMS registration for this ImsService and notifies the framework when the IMS * registration for this ImsService has changed status. + *

+ * Note: There is no guarantee on the thread that the calls from the framework will be called on. It + * is the implementors responsibility to handle moving the calls to a working thread if required. * @hide */ @SystemApi @@ -97,6 +100,16 @@ public class ImsRegistrationImplBase { public void triggerFullNetworkRegistration(int sipCode, String sipReason) { ImsRegistrationImplBase.this.triggerFullNetworkRegistration(sipCode, sipReason); } + + @Override + public void triggerUpdateSipDelegateRegistration() { + ImsRegistrationImplBase.this.updateSipDelegateRegistration(); + } + + @Override + public void triggerSipDelegateDeregistration() { + ImsRegistrationImplBase.this.triggerSipDelegateDeregistration(); + } }; private final RemoteCallbackListExt mCallbacks = @@ -138,7 +151,6 @@ public class ImsRegistrationImplBase { * If the SIP delegate feature tag configuration has changed, then this method will be * called in order to let the ImsService know that it can pick up these changes in the IMS * registration. - * @hide */ public void updateSipDelegateRegistration() { // Stub implementation, ImsService should implement this @@ -155,7 +167,6 @@ public class ImsRegistrationImplBase { *

* This should not affect the registration of features managed by the ImsService itself, such as * feature tags related to MMTEL registration. - * @hide */ public void triggerSipDelegateDeregistration() { // Stub implementation, ImsService should implement this