Add ImsManager#removeRegistrationListener
Adds a removeRegistrationListener API to
complement the existing add method.
Bug: 73951668
Test: Manual
Merged-In: Ieee1d53763d3544ad8e014f900559559c043248c
Change-Id: I3c31236ec51480c819936a7ba1fac882d5a42200
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java
index 521b46a..3a971cf 100644
--- a/src/java/com/android/ims/ImsManager.java
+++ b/src/java/com/android/ims/ImsManager.java
@@ -1556,7 +1556,6 @@
throw new NullPointerException("registration callback can't be null");
}
- checkAndThrowExceptionIfServiceUnavailable();
try {
mMmTelFeatureConnection.addRegistrationCallback(callback);
log("Registration Callback registered.");
@@ -1568,6 +1567,27 @@
}
/**
+ * Removes a previously added registration callback that was added via
+ * {@link #addRegistrationCallback(ImsRegistrationImplBase.Callback)} .
+ * @param callback A {@link ImsRegistrationImplBase.Callback} that was previously added.
+ * @throws ImsException when the ImsService connection is not available.
+ */
+ public void removeRegistrationListener(ImsRegistrationImplBase.Callback callback)
+ throws ImsException {
+ if (callback == null) {
+ throw new NullPointerException("registration callback can't be null");
+ }
+
+ try {
+ mMmTelFeatureConnection.removeRegistrationCallback(callback);
+ log("Registration callback removed.");
+ } catch (RemoteException e) {
+ throw new ImsException("removeRegistrationCallback(IRIB)", e,
+ ImsReasonInfo.CODE_LOCAL_IMS_SERVICE_DOWN);
+ }
+ }
+
+ /**
* Adds a callback that gets called when MMTel capability status has changed, for example when
* Voice over IMS or VT over IMS is not available currently.
* @param callback A {@link ImsFeature.CapabilityCallback} that will notify the caller when