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

Commit 46d67749 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: 86cb5eeb

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

Change-Id: I905a28e7a168a5854ff279078727da27305d8b01
parents 655c3483 86cb5eeb
Loading
Loading
Loading
Loading
+6 −34
Original line number Original line Diff line number Diff line
@@ -120,8 +120,8 @@ public class RcsFeature extends ImsFeature {
                @Nullable ICapabilityExchangeEventListener listener) throws RemoteException {
                @Nullable ICapabilityExchangeEventListener listener) throws RemoteException {
            CapabilityExchangeEventListener listenerWrapper =
            CapabilityExchangeEventListener listenerWrapper =
                    new CapabilityExchangeAidlWrapper(listener);
                    new CapabilityExchangeAidlWrapper(listener);
            executeMethodAsync(() -> mReference.setCapabilityExchangeEventListener(
            executeMethodAsync(() -> mReference.setCapabilityExchangeEventListener(listenerWrapper),
                    mExecutor, listenerWrapper), "setCapabilityExchangeEventListener");
                    "setCapabilityExchangeEventListener");
        }
        }


        @Override
        @Override
@@ -375,30 +375,6 @@ public class RcsFeature extends ImsFeature {
        // Base Implementation - Override to provide functionality
        // 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
     * Retrieve the implementation of UCE for this {@link RcsFeature}, which can use either
     * presence or OPTIONS for capability exchange.
     * presence or OPTIONS for capability exchange.
@@ -461,17 +437,15 @@ public class RcsFeature extends ImsFeature {


    /**
    /**
     * Set the capability exchange listener.
     * 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
     * @param listener A {@link CapabilityExchangeEventListener} to send the capability exchange
     * event to the framework.
     * event to the framework.
     */
     */
    private void setCapabilityExchangeEventListener(@NonNull Executor executor,
    private void setCapabilityExchangeEventListener(
            @Nullable CapabilityExchangeEventListener listener) {
            @Nullable CapabilityExchangeEventListener listener) {
        synchronized (mLock) {
        synchronized (mLock) {
            mCapExchangeEventListener = listener;
            mCapExchangeEventListener = listener;
            if (mCapExchangeEventListener != null) {
            if (mCapExchangeEventListener != null) {
                initRcsCapabilityExchangeImplBase(executor, mCapExchangeEventListener);
                initRcsCapabilityExchangeImplBase(mCapExchangeEventListener);
            } else {
            } else {
                // Remove the RcsCapabilityExchangeImplBase instance when the capability exchange
                // Remove the RcsCapabilityExchangeImplBase instance when the capability exchange
                // instance has been removed in the framework.
                // 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
     * Initialize the RcsCapabilityExchangeImplBase instance if the capability exchange instance
     * has already been created in the framework.
     * 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
     * @param listener A {@link CapabilityExchangeEventListener} to send the capability exchange
     * event to the framework.
     * event to the framework.
     */
     */
    private void initRcsCapabilityExchangeImplBase(@NonNull Executor executor,
    private void initRcsCapabilityExchangeImplBase(
            @NonNull CapabilityExchangeEventListener listener) {
            @NonNull CapabilityExchangeEventListener listener) {
        synchronized (mLock) {
        synchronized (mLock) {
            // Remove the original instance
            // Remove the original instance
            if (mCapabilityExchangeImpl != null) {
            if (mCapabilityExchangeImpl != null) {
                removeCapabilityExchangeImpl(mCapabilityExchangeImpl);
                removeCapabilityExchangeImpl(mCapabilityExchangeImpl);
            }
            }
            mCapabilityExchangeImpl = createCapabilityExchangeImpl(executor, listener);
            mCapabilityExchangeImpl = createCapabilityExchangeImpl(listener);
        }
        }
    }
    }


+0 −15
Original line number Original line Diff line number Diff line
@@ -356,21 +356,6 @@ public class RcsCapabilityExchangeImplBase {
        void onTerminated(@NonNull String reason, long retryAfterMilliseconds) throws ImsException;
        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.
     * Create a new RcsCapabilityExchangeImplBase instance.
     */
     */