Merge "Updated the RcsCapabilityExchangeImplBase APIs"

This commit is contained in:
James Lin
2021-03-30 01:57:10 +00:00
committed by Gerrit Code Review
3 changed files with 43 additions and 4 deletions

View File

@@ -12066,13 +12066,13 @@ package android.telephony.ims.feature {
ctor @Deprecated public RcsFeature(); ctor @Deprecated public RcsFeature();
ctor public RcsFeature(@NonNull java.util.concurrent.Executor); 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 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 final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
method public void onFeatureReady(); method public void onFeatureReady();
method public void onFeatureRemoved(); method public void onFeatureRemoved();
method public boolean queryCapabilityConfiguration(int, int); method public boolean queryCapabilityConfiguration(int, int);
method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus(); 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 { public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
@@ -12284,7 +12284,7 @@ package android.telephony.ims.stub {
} }
public class RcsCapabilityExchangeImplBase { 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 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 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); method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);

View File

@@ -391,6 +391,7 @@ public class RcsFeature extends ImsFeature {
* event to the framework. * event to the framework.
* @return An instance of {@link RcsCapabilityExchangeImplBase} that implements capability * @return An instance of {@link RcsCapabilityExchangeImplBase} that implements capability
* exchange if it is supported by the device. * exchange if it is supported by the device.
* @hide
*/ */
public @NonNull RcsCapabilityExchangeImplBase createCapabilityExchangeImpl( public @NonNull RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(
@NonNull Executor executor, @NonNull CapabilityExchangeEventListener listener) { @NonNull Executor executor, @NonNull CapabilityExchangeEventListener listener) {
@@ -398,15 +399,46 @@ public class RcsFeature extends ImsFeature {
return new RcsCapabilityExchangeImplBase(executor); 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. * Remove the given CapabilityExchangeImplBase instance.
* @param capExchangeImpl The {@link RcsCapabilityExchangeImplBase} instance to be removed. * @param capExchangeImpl The {@link RcsCapabilityExchangeImplBase} instance to be removed.
* @hide
*/ */
public void removeCapabilityExchangeImpl( public void removeCapabilityExchangeImpl(
@NonNull RcsCapabilityExchangeImplBase capExchangeImpl) { @NonNull RcsCapabilityExchangeImplBase capExchangeImpl) {
// Override to implement the process of removing RcsCapabilityExchangeImplBase instance. // 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}*/ /**{@inheritDoc}*/
@Override @Override
public void onFeatureRemoved() { public void onFeatureRemoved() {

View File

@@ -356,12 +356,13 @@ public class RcsCapabilityExchangeImplBase {
void onTerminated(@NonNull String reason, long retryAfterMilliseconds) throws ImsException; void onTerminated(@NonNull String reason, long retryAfterMilliseconds) throws ImsException;
} }
private final Executor mBinderExecutor; private Executor mBinderExecutor;
/** /**
* Create a new RcsCapabilityExchangeImplBase instance. * Create a new RcsCapabilityExchangeImplBase instance.
* *
* @param executor The executor that remote calls from the framework will be called on. * @param executor The executor that remote calls from the framework will be called on.
* @hide
*/ */
public RcsCapabilityExchangeImplBase(@NonNull Executor executor) { public RcsCapabilityExchangeImplBase(@NonNull Executor executor) {
if (executor == null) { if (executor == null) {
@@ -370,6 +371,12 @@ public class RcsCapabilityExchangeImplBase {
mBinderExecutor = executor; mBinderExecutor = executor;
} }
/**
* Create a new RcsCapabilityExchangeImplBase instance.
*/
public RcsCapabilityExchangeImplBase() {
}
/** /**
* The user capabilities of one or multiple contacts have been requested by the framework. * The user capabilities of one or multiple contacts have been requested by the framework.
* <p> * <p>