Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4a9fd73 authored by Brad Ebinger's avatar Brad Ebinger
Browse files

Add ImsManager#removeRegistrationListener

Adds a removeRegistrationListener API to
complement the existing add method.

Bug: 73951668
Test: Manual
Change-Id: I3c31236ec51480c819936a7ba1fac882d5a42200
parent 6e391e4b
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -1570,7 +1570,6 @@ public class ImsManager {
            throw new NullPointerException("registration callback can't be null");
        }

        checkAndThrowExceptionIfServiceUnavailable();
        try {
            mMmTelFeatureConnection.addRegistrationCallback(callback);
            log("Registration Callback registered.");
@@ -1581,6 +1580,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.
+1 −1
Original line number Diff line number Diff line
@@ -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");
                }