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

Commit 86cb5eeb authored by James Lin's avatar James Lin Committed by Gerrit Code Review
Browse files

Merge "Remove unnecessary UCE APIs because some of UCE APIs change."

parents 07587bd2 088f6cda
Loading
Loading
Loading
Loading
+6 −34
Original line number Diff line number Diff line
@@ -120,8 +120,8 @@ public class RcsFeature extends ImsFeature {
                @Nullable ICapabilityExchangeEventListener listener) throws RemoteException {
            CapabilityExchangeEventListener listenerWrapper =
                    new CapabilityExchangeAidlWrapper(listener);
            executeMethodAsync(() -> mReference.setCapabilityExchangeEventListener(
                    mExecutor, listenerWrapper), "setCapabilityExchangeEventListener");
            executeMethodAsync(() -> mReference.setCapabilityExchangeEventListener(listenerWrapper),
                    "setCapabilityExchangeEventListener");
        }

        @Override
@@ -375,30 +375,6 @@ public class RcsFeature extends ImsFeature {
        // Base Implementation - Override to provide functionality
    }

    /**
     * Retrieve the implementation of UCE for this {@link RcsFeature}, which can use either
     * presence or OPTIONS for capability exchange.
     *
     * Will only be requested by the framework if capability exchange is configured
     * as capable during a
     * {@link #changeEnabledCapabilities(CapabilityChangeRequest, CapabilityCallbackProxy)}
     * operation and the RcsFeature sets the status of the capability to true using
     * {@link #notifyCapabilitiesStatusChanged(RcsImsCapabilities)}.
     *
     * @param executor The executor for the framework to use when request RCS resquests to this
     * service.
     * @param listener A {@link CapabilityExchangeEventListener} to send the capability exchange
     * event to the framework.
     * @return An instance of {@link RcsCapabilityExchangeImplBase} that implements capability
     * exchange if it is supported by the device.
     * @hide
     */
    public @NonNull RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(
            @NonNull Executor executor, @NonNull CapabilityExchangeEventListener listener) {
        // Base Implementation, override to implement functionality
        return new RcsCapabilityExchangeImplBase(executor);
    }

    /**
     * Retrieve the implementation of UCE for this {@link RcsFeature}, which can use either
     * presence or OPTIONS for capability exchange.
@@ -461,17 +437,15 @@ public class RcsFeature extends ImsFeature {

    /**
     * Set the capability exchange listener.
     * @param executor The executor for the framework to use when request RCS requests to this
     * service.
     * @param listener A {@link CapabilityExchangeEventListener} to send the capability exchange
     * event to the framework.
     */
    private void setCapabilityExchangeEventListener(@NonNull Executor executor,
    private void setCapabilityExchangeEventListener(
            @Nullable CapabilityExchangeEventListener listener) {
        synchronized (mLock) {
            mCapExchangeEventListener = listener;
            if (mCapExchangeEventListener != null) {
                initRcsCapabilityExchangeImplBase(executor, mCapExchangeEventListener);
                initRcsCapabilityExchangeImplBase(mCapExchangeEventListener);
            } else {
                // Remove the RcsCapabilityExchangeImplBase instance when the capability exchange
                // instance has been removed in the framework.
@@ -486,19 +460,17 @@ public class RcsFeature extends ImsFeature {
    /**
     * Initialize the RcsCapabilityExchangeImplBase instance if the capability exchange instance
     * has already been created in the framework.
     * @param executor The executor for the framework to use when request RCS requests to this
     * service.
     * @param listener A {@link CapabilityExchangeEventListener} to send the capability exchange
     * event to the framework.
     */
    private void initRcsCapabilityExchangeImplBase(@NonNull Executor executor,
    private void initRcsCapabilityExchangeImplBase(
            @NonNull CapabilityExchangeEventListener listener) {
        synchronized (mLock) {
            // Remove the original instance
            if (mCapabilityExchangeImpl != null) {
                removeCapabilityExchangeImpl(mCapabilityExchangeImpl);
            }
            mCapabilityExchangeImpl = createCapabilityExchangeImpl(executor, listener);
            mCapabilityExchangeImpl = createCapabilityExchangeImpl(listener);
        }
    }

+0 −15
Original line number Diff line number Diff line
@@ -356,21 +356,6 @@ public class RcsCapabilityExchangeImplBase {
        void onTerminated(@NonNull String reason, long retryAfterMilliseconds) throws ImsException;
    }

    private Executor mBinderExecutor;

    /**
     * Create a new RcsCapabilityExchangeImplBase instance.
     *
     * @param executor The executor that remote calls from the framework will be called on.
     * @hide
     */
    public RcsCapabilityExchangeImplBase(@NonNull Executor executor) {
        if (executor == null) {
            throw new IllegalArgumentException("executor must not be null");
        }
        mBinderExecutor = executor;
    }

    /**
     * Create a new RcsCapabilityExchangeImplBase instance.
     */