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

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

Merge "Updated the RcsCapabilityExchangeImplBase APIs" am: 47dc4008

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

Change-Id: Iba781ae529b55d8055984706c0652d68e97e6873
parents cfe25a8b 47dc4008
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -12066,13 +12066,13 @@ package android.telephony.ims.feature {
    ctor @Deprecated public RcsFeature();
    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
    method public void onFeatureReady();
    method public void onFeatureRemoved();
    method public boolean queryCapabilityConfiguration(int, int);
    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
    method public void removeCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
  }
  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
@@ -12284,7 +12284,7 @@ package android.telephony.ims.stub {
  }
  public class RcsCapabilityExchangeImplBase {
    ctor public RcsCapabilityExchangeImplBase(@NonNull java.util.concurrent.Executor);
    ctor public RcsCapabilityExchangeImplBase();
    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
+32 −0
Original line number Diff line number Diff line
@@ -391,6 +391,7 @@ public class RcsFeature extends ImsFeature {
     * 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) {
@@ -398,15 +399,46 @@ public class RcsFeature extends ImsFeature {
        return new RcsCapabilityExchangeImplBase(executor);
    }

    /**
     * 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 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.
     */
    public @NonNull RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(
            @NonNull CapabilityExchangeEventListener listener) {
        // Base Implementation, override to implement functionality
        return new RcsCapabilityExchangeImplBase();
    }

    /**
     * Remove the given CapabilityExchangeImplBase instance.
     * @param capExchangeImpl The {@link RcsCapabilityExchangeImplBase} instance to be removed.
     * @hide
     */
    public void removeCapabilityExchangeImpl(
            @NonNull RcsCapabilityExchangeImplBase capExchangeImpl) {
        // Override to implement the process of removing RcsCapabilityExchangeImplBase instance.
    }

    /**
     * Remove the given CapabilityExchangeImplBase instance.
     * @param capExchangeImpl The {@link RcsCapabilityExchangeImplBase} instance to be destroyed.
     */
    public void destroyCapabilityExchangeImpl(
            @NonNull RcsCapabilityExchangeImplBase capExchangeImpl) {
        // Override to implement the process of destroying RcsCapabilityExchangeImplBase instance.
    }

    /**{@inheritDoc}*/
    @Override
    public void onFeatureRemoved() {
+8 −1
Original line number Diff line number Diff line
@@ -356,12 +356,13 @@ public class RcsCapabilityExchangeImplBase {
        void onTerminated(@NonNull String reason, long retryAfterMilliseconds) throws ImsException;
    }

    private final Executor mBinderExecutor;
    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) {
@@ -370,6 +371,12 @@ public class RcsCapabilityExchangeImplBase {
        mBinderExecutor = executor;
    }

    /**
     * Create a new RcsCapabilityExchangeImplBase instance.
     */
    public RcsCapabilityExchangeImplBase() {
    }

    /**
     * The user capabilities of one or multiple contacts have been requested by the framework.
     * <p>