Correct Typo on Provision Refactor per API review

1) FeatureProvisioningCallback become abstract, which has empty impelemtation to override
2) Remove unnccessary {} from @hide
3) fix wrong comment for KEY_CARRIER_VOLTE_PROVISIONED_BOOL
4) move public interface RcsImsCapabilityFlag and it's component constants from RcsFeature to public class ImsRcsManager, and restore RcsFeature as SystemApi class
  set as @deprecated for RcsImsCapabilityFlag in RcsUceAdapter, which has duplicate in ImsRcsManager.

Bug: b/219985687
Test: CTS/ImsServiceTest, UnitTest/ImsProvisioningControllerTest

Change-Id: Iea386922f0377e01582fdb6547d60126d0bf1e8d
Merged-In: Iea386922f0377e01582fdb6547d60126d0bf1e8d
This commit is contained in:
Hakjun Choi
2022-02-23 02:29:47 +00:00
committed by Yurii Zubrytskyi
parent f0af066196
commit e026d4c179
9 changed files with 103 additions and 90 deletions

View File

@@ -44254,6 +44254,9 @@ package android.telephony.ims {
method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
method public void unregisterImsStateCallback(@NonNull android.telephony.ims.ImsStateCallback);
field public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN = "android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
}
public final class ImsReasonInfo implements android.os.Parcelable {
@@ -44475,10 +44478,10 @@ package android.telephony.ims {
method public void unregisterFeatureProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback);
}
public static class ProvisioningManager.FeatureProvisioningCallback {
public abstract static class ProvisioningManager.FeatureProvisioningCallback {
ctor public ProvisioningManager.FeatureProvisioningCallback();
method public void onFeatureProvisioningChanged(int, int, boolean);
method public void onRcsFeatureProvisioningChanged(int, int, boolean);
method public abstract void onFeatureProvisioningChanged(int, int, boolean);
method public abstract void onRcsFeatureProvisioningChanged(int, int, boolean);
}
public class RcsUceAdapter {
@@ -44521,15 +44524,6 @@ package android.telephony.ims.feature {
field public static final int CAPABILITY_TYPE_VOICE = 1; // 0x1
}
public class RcsFeature {
}
public static class RcsFeature.RcsImsCapabilities {
field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
}
}
package android.telephony.ims.stub {

View File

@@ -15024,7 +15024,7 @@ package android.telephony.ims {
method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestAvailability(@NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
field @Deprecated public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
@@ -15307,6 +15307,9 @@ package android.telephony.ims.feature {
method public void addCapabilities(int);
method public boolean isCapable(int);
method public void removeCapabilities(int);
field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
}
}

View File

@@ -176,7 +176,7 @@ public class CarrierConfigManager {
* This flag specifies whether VoLTE availability is based on provisioning. By default this is
* false.
* Used for UCE to determine if EAB provisioning checks should be based on provisioning.
* @deprecated Use {@link Ims#KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE} instead.
* @deprecated Use {@link Ims#KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL} instead.
*/
@Deprecated
public static final String

View File

@@ -18,6 +18,7 @@ package android.telephony.ims;
import android.Manifest;
import android.annotation.CallbackExecutor;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission;
@@ -43,6 +44,8 @@ import android.util.Log;
import com.android.internal.telephony.IIntegerConsumer;
import com.android.internal.telephony.ITelephony;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -86,6 +89,46 @@ public class ImsRcsManager {
public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN =
"android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
/**
* This carrier supports User Capability Exchange as, defined by the framework using a
* presence server. If set, the RcsFeature should support capability exchange. If not set, this
* RcsFeature should not publish capabilities or service capability requests.
* @hide
*/
@Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = "CAPABILITY_TYPE_", flag = true, value = {
CAPABILITY_TYPE_NONE,
CAPABILITY_TYPE_OPTIONS_UCE,
CAPABILITY_TYPE_PRESENCE_UCE
})
public @interface RcsImsCapabilityFlag {}
/**
* Undefined capability type for initialization
*/
public static final int CAPABILITY_TYPE_NONE = 0;
/**
* This carrier supports User Capability Exchange using SIP OPTIONS as defined by the
* framework. If set, the RcsFeature should support capability exchange using SIP OPTIONS.
* If not set, this RcsFeature should not service capability requests.
*/
public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1 << 0;
/**
* This carrier supports User Capability Exchange using a presence server as defined by the
* framework. If set, the RcsFeature should support capability exchange using a presence
* server. If not set, this RcsFeature should not publish capabilities or service capability
* requests using presence.
*/
public static final int CAPABILITY_TYPE_PRESENCE_UCE = 1 << 1;
/**
* This is used to check the upper range of RCS capability
* @hide
*/
public static final int CAPABILITY_TYPE_MAX = CAPABILITY_TYPE_PRESENCE_UCE + 1;
/**
* An application can use {@link #addOnAvailabilityChangedListener} to register a
* {@link OnAvailabilityChangedListener}, which will notify the user when the RCS feature
@@ -104,7 +147,7 @@ public class ImsRcsManager {
*
* @param capabilities The new availability of the capabilities.
*/
void onAvailabilityChanged(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities);
void onAvailabilityChanged(@RcsImsCapabilityFlag int capabilities);
}
/**
@@ -486,7 +529,7 @@ public class ImsRcsManager {
*/
@SystemApi
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isCapable(@RcsUceAdapter.RcsImsCapabilityFlag int capability,
public boolean isCapable(@RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech) throws ImsException {
IImsRcsController imsRcsController = getIImsRcsController();
if (imsRcsController == null) {
@@ -522,7 +565,7 @@ public class ImsRcsManager {
*/
@SystemApi
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isAvailable(@RcsUceAdapter.RcsImsCapabilityFlag int capability,
public boolean isAvailable(@RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech)
throws ImsException {
IImsRcsController imsRcsController = getIImsRcsController();

View File

@@ -38,7 +38,6 @@ import android.telephony.ims.aidl.IFeatureProvisioningCallback;
import android.telephony.ims.aidl.IImsConfigCallback;
import android.telephony.ims.aidl.IRcsConfigCallback;
import android.telephony.ims.feature.MmTelFeature;
import android.telephony.ims.feature.RcsFeature;
import android.telephony.ims.stub.ImsConfigImplBase;
import android.telephony.ims.stub.ImsRegistrationImplBase;
@@ -970,7 +969,7 @@ public class ProvisioningManager {
/**
* Callback for IMS provisioning feature changes.
*/
public static class FeatureProvisioningCallback {
public abstract static class FeatureProvisioningCallback {
private static class CallbackBinder extends IFeatureProvisioningCallback.Stub {
@@ -1024,12 +1023,10 @@ public class ProvisioningManager {
* specified, or {@code false} if the capability is not provisioned for the technology
* specified.
*/
public void onFeatureProvisioningChanged(
public abstract void onFeatureProvisioningChanged(
@MmTelFeature.MmTelCapabilities.MmTelCapability int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech,
boolean isProvisioned) {
// Base Implementation
}
boolean isProvisioned);
/**
* The IMS RCS provisioning has changed for a specific capability and IMS
@@ -1041,12 +1038,10 @@ public class ProvisioningManager {
* specified, or {@code false} if the capability is not provisioned for the technology
* specified.
*/
public void onRcsFeatureProvisioningChanged(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
public abstract void onRcsFeatureProvisioningChanged(
@ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech,
boolean isProvisioned) {
// Base Implementation
}
boolean isProvisioned);
/**@hide*/
public final IFeatureProvisioningCallback getBinder() {
@@ -1505,7 +1500,7 @@ public class ProvisioningManager {
* Get the provisioning status for the IMS RCS capability specified.
*
* If provisioning is not required for the queried
* {@link RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag} this method will always return
* {@link ImsRcsManager.RcsImsCapabilityFlag} this method will always return
* {@code true}.
*
* @see CarrierConfigManager.Ims#KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL
@@ -1522,7 +1517,7 @@ public class ProvisioningManager {
@WorkerThread
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean getRcsProvisioningStatusForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability) {
@ImsRcsManager.RcsImsCapabilityFlag int capability) {
try {
return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability,
ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
@@ -1535,7 +1530,7 @@ public class ProvisioningManager {
* Get the provisioning status for the IMS RCS capability specified.
*
* If provisioning is not required for the queried
* {@link RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag} this method
* {@link ImsRcsManager.RcsImsCapabilityFlag} this method
* will always return {@code true}.
*
* <p> Requires Permission:
@@ -1553,7 +1548,7 @@ public class ProvisioningManager {
@WorkerThread
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
public boolean getRcsProvisioningStatusForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
@ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech) {
try {
return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability, tech);
@@ -1590,7 +1585,7 @@ public class ProvisioningManager {
@WorkerThread
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
public void setRcsProvisioningStatusForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
@ImsRcsManager.RcsImsCapabilityFlag int capability,
boolean isProvisioned) {
try {
getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability,
@@ -1622,7 +1617,7 @@ public class ProvisioningManager {
@WorkerThread
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
public void setRcsProvisioningStatusForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
@ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech, boolean isProvisioned) {
try {
getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability,
@@ -1676,7 +1671,7 @@ public class ProvisioningManager {
*/
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
public boolean isRcsProvisioningRequiredForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
@ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech) {
try {
return getITelephony().isRcsProvisioningRequiredForCapability(mSubId, capability, tech);

View File

@@ -55,20 +55,28 @@ public class RcsUceAdapter {
* This carrier supports User Capability Exchange as, defined by the framework using
* SIP OPTIONS. If set, the RcsFeature should support capability exchange. If not set, this
* RcsFeature should not publish capabilities or service capability requests.
* @deprecated Use {@link ImsRcsManager#CAPABILITY_TYPE_OPTIONS_UCE} instead.
* @hide
*/
@Deprecated
public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1 << 0;
/**
* This carrier supports User Capability Exchange as, defined by the framework using a
* presence server. If set, the RcsFeature should support capability exchange. If not set, this
* RcsFeature should not publish capabilities or service capability requests.
* @deprecated Use {@link ImsRcsManager#CAPABILITY_TYPE_PRESENCE_UCE} instead.
* @hide
*/
@Deprecated
@SystemApi
public static final int CAPABILITY_TYPE_PRESENCE_UCE = 1 << 1;
/**@hide*/
/**
* @deprecated Use {@link ImsRcsManager.RcsImsCapabilityFlag} instead.
* @hide
*/
@Deprecated
@Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = "CAPABILITY_TYPE_", value = {
CAPABILITY_TYPE_OPTIONS_UCE,

View File

@@ -396,7 +396,7 @@ public class MmTelFeature extends ImsFeature {
/**
* Undefined capability type for initialization
* This is used to check the upper range of MmTel capability
* {@hide}
* @hide
*/
public static final int CAPABILITY_TYPE_NONE = 0;
@@ -427,7 +427,7 @@ public class MmTelFeature extends ImsFeature {
/**
* This is used to check the upper range of MmTel capability
* {@hide}
* @hide
*/
public static final int CAPABILITY_TYPE_MAX = CAPABILITY_TYPE_CALL_COMPOSER + 1;
@@ -738,7 +738,7 @@ public class MmTelFeature extends ImsFeature {
* Enabling/Disabling a capability here indicates that the capability should be registered or
* deregistered (depending on the capability change) and become available or unavailable to
* the framework.
* * @hide
* @hide
*/
@Override
@SystemApi

View File

@@ -24,7 +24,7 @@ import android.annotation.SystemApi;
import android.content.Context;
import android.net.Uri;
import android.os.RemoteException;
import android.telephony.ims.RcsUceAdapter;
import android.telephony.ims.ImsRcsManager;
import android.telephony.ims.aidl.CapabilityExchangeAidlWrapper;
import android.telephony.ims.aidl.ICapabilityExchangeEventListener;
import android.telephony.ims.aidl.IImsCapabilityCallback;
@@ -59,7 +59,9 @@ import java.util.function.Supplier;
/**
* Base implementation of the RcsFeature APIs. Any ImsService wishing to support RCS should extend
* this class and provide implementations of the RcsFeature methods that they support.
* @hide
*/
@SystemApi
public class RcsFeature extends ImsFeature {
private static final String LOG_TAG = "RcsFeature";
@@ -184,18 +186,22 @@ public class RcsFeature extends ImsFeature {
* Contains the capabilities defined and supported by a {@link RcsFeature} in the
* form of a bitmask. The capabilities that are used in the RcsFeature are
* defined as:
* {RcsUceAdapter.RcsImsCapabilityFlag#CAPABILITY_TYPE_OPTIONS_UCE}
* {RcsUceAdapter.RcsImsCapabilityFlag#CAPABILITY_TYPE_PRESENCE_UCE}
* {@link ImsRcsManager.RcsImsCapabilityFlag#CAPABILITY_TYPE_OPTIONS_UCE}
* {@link ImsRcsManager.RcsImsCapabilityFlag#CAPABILITY_TYPE_PRESENCE_UCE}
*
* The enabled capabilities of this RcsFeature will be set by the framework
* using {#changeEnabledCapabilities(CapabilityChangeRequest, CapabilityCallbackProxy)}.
* using {@link #changeEnabledCapabilities(CapabilityChangeRequest, CapabilityCallbackProxy)}.
* After the capabilities have been set, the RcsFeature may then perform the necessary bring up
* of the capability and notify the capability status as true using
* {#notifyCapabilitiesStatusChanged(RcsImsCapabilities)}. This will signal to the
* {@link #notifyCapabilitiesStatusChanged(RcsImsCapabilities)}. This will signal to the
* framework that the capability is available for usage.
*/
public static class RcsImsCapabilities extends Capabilities {
/** @hide*/
/**
* Use {@link ImsRcsManager.RcsImsCapabilityFlag} instead in case used for public API
* @hide
*/
@Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = "CAPABILITY_TYPE_", flag = true, value = {
CAPABILITY_TYPE_NONE,
@@ -226,7 +232,7 @@ public class RcsFeature extends ImsFeature {
/**
* This is used to check the upper range of RCS capability
* {@hide}
* @hide
*/
public static final int CAPABILITY_TYPE_MAX = CAPABILITY_TYPE_PRESENCE_UCE + 1;
@@ -234,10 +240,8 @@ public class RcsFeature extends ImsFeature {
* Create a new {@link RcsImsCapabilities} instance with the provided capabilities.
* @param capabilities The capabilities that are supported for RCS in the form of a
* bitfield.
* @hide
*/
@SystemApi
public RcsImsCapabilities(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities) {
public RcsImsCapabilities(@ImsRcsManager.RcsImsCapabilityFlag int capabilities) {
super(capabilities);
}
@@ -249,30 +253,18 @@ public class RcsFeature extends ImsFeature {
super(capabilities.getMask());
}
/**
* @hide
*/
@Override
@SystemApi
public void addCapabilities(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities) {
public void addCapabilities(@ImsRcsManager.RcsImsCapabilityFlag int capabilities) {
super.addCapabilities(capabilities);
}
/**
* @hide
*/
@Override
@SystemApi
public void removeCapabilities(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities) {
public void removeCapabilities(@ImsRcsManager.RcsImsCapabilityFlag int capabilities) {
super.removeCapabilities(capabilities);
}
/**
* @hide
*/
@Override
@SystemApi
public boolean isCapable(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities) {
public boolean isCapable(@ImsRcsManager.RcsImsCapabilityFlag int capabilities) {
return super.isCapable(capabilities);
}
}
@@ -288,9 +280,7 @@ public class RcsFeature extends ImsFeature {
* Method stubs called from the framework will be called asynchronously. To specify the
* {@link Executor} that the methods stubs will be called, use
* {@link RcsFeature#RcsFeature(Executor)} instead.
* @hide
*/
@SystemApi
public RcsFeature() {
super();
// Run on the Binder threads that call them.
@@ -302,9 +292,7 @@ public class RcsFeature extends ImsFeature {
* framework.
* @param executor The executor for the framework to use when executing the methods overridden
* by the implementation of RcsFeature.
* @hide
*/
@SystemApi
public RcsFeature(@NonNull Executor executor) {
super();
if (executor == null) {
@@ -335,10 +323,8 @@ public class RcsFeature extends ImsFeature {
* requests. To change the status of the capabilities
* {@link #notifyCapabilitiesStatusChanged(RcsImsCapabilities)} should be called.
* @return A copy of the current RcsFeature capability status.
* @hide
*/
@Override
@SystemApi
public @NonNull final RcsImsCapabilities queryCapabilityStatus() {
return new RcsImsCapabilities(super.queryCapabilityStatus());
}
@@ -348,9 +334,7 @@ public class RcsFeature extends ImsFeature {
* this signals to the framework that the capability has been initialized and is ready.
* Call {@link #queryCapabilityStatus()} to return the current capability status.
* @param capabilities The current capability status of the RcsFeature.
* @hide
*/
@SystemApi
public final void notifyCapabilitiesStatusChanged(@NonNull RcsImsCapabilities capabilities) {
if (capabilities == null) {
throw new IllegalArgumentException("RcsImsCapabilities must be non-null!");
@@ -367,11 +351,9 @@ public class RcsFeature extends ImsFeature {
* @param capability The capability that we are querying the configuration for.
* @param radioTech The radio technology type that we are querying.
* @return true if the capability is enabled, false otherwise.
* @hide
*/
@SystemApi
public boolean queryCapabilityConfiguration(
@RcsUceAdapter.RcsImsCapabilityFlag int capability,
@ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech) {
// Base Implementation - Override to provide functionality
return false;
@@ -392,10 +374,8 @@ public class RcsFeature extends ImsFeature {
* be called for each capability change that resulted in an error.
* @param request The request to change the capability.
* @param callback To notify the framework that the result of the capability changes.
* @hide
*/
@Override
@SystemApi
public void changeEnabledCapabilities(@NonNull CapabilityChangeRequest request,
@NonNull CapabilityCallbackProxy callback) {
// Base Implementation - Override to provide functionality
@@ -415,9 +395,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
*/
@SystemApi
public @NonNull RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(
@NonNull CapabilityExchangeEventListener listener) {
// Base Implementation, override to implement functionality
@@ -427,28 +405,20 @@ public class RcsFeature extends ImsFeature {
/**
* Remove the given CapabilityExchangeImplBase instance.
* @param capExchangeImpl The {@link RcsCapabilityExchangeImplBase} instance to be destroyed.
* @hide
*/
@SystemApi
public void destroyCapabilityExchangeImpl(
@NonNull RcsCapabilityExchangeImplBase capExchangeImpl) {
// Override to implement the process of destroying RcsCapabilityExchangeImplBase instance.
}
/**{@inheritDoc}
* @hide
*/
/**{@inheritDoc}*/
@Override
@SystemApi
public void onFeatureRemoved() {
}
/**{@inheritDoc}
* @hide
*/
/**{@inheritDoc}*/
@Override
@SystemApi
public void onFeatureReady() {
}

View File

@@ -93,7 +93,7 @@ public class ImsRegistrationImplBase {
/**
* This is used to check the upper range of registration tech
* {@hide}
* @hide
*/
public static final int REGISTRATION_TECH_MAX = REGISTRATION_TECH_NR + 1;