aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2018-03-13 01:26:49 +0000
committerandroid-build-merger <android-build-merger@google.com>2018-03-13 01:26:49 +0000
commite6ce79d5ec80e9e86381c799f38a295d8b4581da (patch)
tree6b1bce3a106e0e94c6dd851fabdcb4b9157dc73b
parent0aa3018d8ad0ea685cf4cffb6cd7154e99396515 (diff)
parentd1b7ae22931f8f7dfb50400a271824e59db7cdb8 (diff)
downloadims-e6ce79d5ec80e9e86381c799f38a295d8b4581da.tar.gz
Add ImsManager#removeRegistrationListener am: b4a9fd73f1
am: d1b7ae2293 Change-Id: Ieee1d53763d3544ad8e014f900559559c043248c
-rw-r--r--src/java/com/android/ims/ImsManager.java22
-rw-r--r--src/java/com/android/ims/MmTelFeatureConnection.java2
2 files changed, 22 insertions, 2 deletions
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java
index 262a19d7..74e49a42 100644
--- a/src/java/com/android/ims/ImsManager.java
+++ b/src/java/com/android/ims/ImsManager.java
@@ -1574,7 +1574,6 @@ public class ImsManager {
throw new NullPointerException("registration callback can't be null");
}
- checkAndThrowExceptionIfServiceUnavailable();
try {
mMmTelFeatureConnection.addRegistrationCallback(callback);
log("Registration Callback registered.");
@@ -1586,6 +1585,27 @@ public class ImsManager {
}
/**
+ * 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
diff --git a/src/java/com/android/ims/MmTelFeatureConnection.java b/src/java/com/android/ims/MmTelFeatureConnection.java
index 2d11ae60..6028f6f3 100644
--- a/src/java/com/android/ims/MmTelFeatureConnection.java
+++ b/src/java/com/android/ims/MmTelFeatureConnection.java
@@ -196,7 +196,7 @@ public class MmTelFeatureConnection {
IImsRegistration imsRegistration = getRegistration();
if (imsRegistration != null) {
try {
- getRegistration().addRegistrationCallback(mRegistrationCallbackAdapter);
+ getRegistration().removeRegistrationCallback(mRegistrationCallbackAdapter);
} catch (RemoteException e) {
Log.w(TAG, "removeConnection: couldn't remove registration callback");
}