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

Commit dfdde4c5 authored by James Lin's avatar James Lin Committed by Automerger Merge Worker
Browse files

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

Merge "Remove unnecessary UCE APIs because some of UCE APIs change." am: 86cb5eeb am: 46d67749 am: 6e1bf17f

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1684035

Change-Id: I98c2b446d76b8ba97f0efcd61e40cc9ee7322665
parents 20c5dbae 6e1bf17f
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.
     */