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

This commit is contained in:
James Lin
2021-04-22 20:25:39 +00:00
committed by Gerrit Code Review
2 changed files with 6 additions and 49 deletions

View File

@@ -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);
} }
} }

View File

@@ -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.
*/ */