Merge "Correct Typo on Provision Refactor per API review" into tm-dev

This commit is contained in:
TreeHugger Robot
2022-04-20 07:38:36 +00:00
committed by Android (Google) Code Review
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 @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); 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 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 { 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); 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(); ctor public ProvisioningManager.FeatureProvisioningCallback();
method public void onFeatureProvisioningChanged(int, int, boolean); method public abstract void onFeatureProvisioningChanged(int, int, boolean);
method public void onRcsFeatureProvisioningChanged(int, int, boolean); method public abstract void onRcsFeatureProvisioningChanged(int, int, boolean);
} }
public class RcsUceAdapter { public class RcsUceAdapter {
@@ -44521,15 +44524,6 @@ package android.telephony.ims.feature {
field public static final int CAPABILITY_TYPE_VOICE = 1; // 0x1 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 { 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 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(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; 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_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_2G = 7; // 0x7
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6 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 void addCapabilities(int);
method public boolean isCapable(int); method public boolean isCapable(int);
method public void removeCapabilities(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 * This flag specifies whether VoLTE availability is based on provisioning. By default this is
* false. * false.
* Used for UCE to determine if EAB provisioning checks should be based on provisioning. * 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 @Deprecated
public static final String public static final String

View File

@@ -18,6 +18,7 @@ package android.telephony.ims;
import android.Manifest; import android.Manifest;
import android.annotation.CallbackExecutor; import android.annotation.CallbackExecutor;
import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.RequiresFeature; import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
@@ -43,6 +44,8 @@ import android.util.Log;
import com.android.internal.telephony.IIntegerConsumer; import com.android.internal.telephony.IIntegerConsumer;
import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.ITelephony;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@@ -86,6 +89,46 @@ public class ImsRcsManager {
public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN = public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN =
"android.telephony.ims.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 * An application can use {@link #addOnAvailabilityChangedListener} to register a
* {@link OnAvailabilityChangedListener}, which will notify the user when the RCS feature * {@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. * @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 @SystemApi
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @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 { @ImsRegistrationImplBase.ImsRegistrationTech int radioTech) throws ImsException {
IImsRcsController imsRcsController = getIImsRcsController(); IImsRcsController imsRcsController = getIImsRcsController();
if (imsRcsController == null) { if (imsRcsController == null) {
@@ -522,7 +565,7 @@ public class ImsRcsManager {
*/ */
@SystemApi @SystemApi
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isAvailable(@RcsUceAdapter.RcsImsCapabilityFlag int capability, public boolean isAvailable(@RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech) @ImsRegistrationImplBase.ImsRegistrationTech int radioTech)
throws ImsException { throws ImsException {
IImsRcsController imsRcsController = getIImsRcsController(); 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.IImsConfigCallback;
import android.telephony.ims.aidl.IRcsConfigCallback; import android.telephony.ims.aidl.IRcsConfigCallback;
import android.telephony.ims.feature.MmTelFeature; import android.telephony.ims.feature.MmTelFeature;
import android.telephony.ims.feature.RcsFeature;
import android.telephony.ims.stub.ImsConfigImplBase; import android.telephony.ims.stub.ImsConfigImplBase;
import android.telephony.ims.stub.ImsRegistrationImplBase; import android.telephony.ims.stub.ImsRegistrationImplBase;
@@ -970,7 +969,7 @@ public class ProvisioningManager {
/** /**
* Callback for IMS provisioning feature changes. * Callback for IMS provisioning feature changes.
*/ */
public static class FeatureProvisioningCallback { public abstract static class FeatureProvisioningCallback {
private static class CallbackBinder extends IFeatureProvisioningCallback.Stub { 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, or {@code false} if the capability is not provisioned for the technology
* specified. * specified.
*/ */
public void onFeatureProvisioningChanged( public abstract void onFeatureProvisioningChanged(
@MmTelFeature.MmTelCapabilities.MmTelCapability int capability, @MmTelFeature.MmTelCapabilities.MmTelCapability int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech, @ImsRegistrationImplBase.ImsRegistrationTech int tech,
boolean isProvisioned) { boolean isProvisioned);
// Base Implementation
}
/** /**
* The IMS RCS provisioning has changed for a specific capability and IMS * 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, or {@code false} if the capability is not provisioned for the technology
* specified. * specified.
*/ */
public void onRcsFeatureProvisioningChanged( public abstract void onRcsFeatureProvisioningChanged(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability, @ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech, @ImsRegistrationImplBase.ImsRegistrationTech int tech,
boolean isProvisioned) { boolean isProvisioned);
// Base Implementation
}
/**@hide*/ /**@hide*/
public final IFeatureProvisioningCallback getBinder() { public final IFeatureProvisioningCallback getBinder() {
@@ -1505,7 +1500,7 @@ public class ProvisioningManager {
* Get the provisioning status for the IMS RCS capability specified. * Get the provisioning status for the IMS RCS capability specified.
* *
* If provisioning is not required for the queried * 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}. * {@code true}.
* *
* @see CarrierConfigManager.Ims#KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL * @see CarrierConfigManager.Ims#KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL
@@ -1522,7 +1517,7 @@ public class ProvisioningManager {
@WorkerThread @WorkerThread
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean getRcsProvisioningStatusForCapability( public boolean getRcsProvisioningStatusForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability) { @ImsRcsManager.RcsImsCapabilityFlag int capability) {
try { try {
return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability, return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability,
ImsRegistrationImplBase.REGISTRATION_TECH_LTE); ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
@@ -1535,7 +1530,7 @@ public class ProvisioningManager {
* Get the provisioning status for the IMS RCS capability specified. * Get the provisioning status for the IMS RCS capability specified.
* *
* If provisioning is not required for the queried * If provisioning is not required for the queried
* {@link RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag} this method * {@link ImsRcsManager.RcsImsCapabilityFlag} this method
* will always return {@code true}. * will always return {@code true}.
* *
* <p> Requires Permission: * <p> Requires Permission:
@@ -1553,7 +1548,7 @@ public class ProvisioningManager {
@WorkerThread @WorkerThread
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
public boolean getRcsProvisioningStatusForCapability( public boolean getRcsProvisioningStatusForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability, @ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech) { @ImsRegistrationImplBase.ImsRegistrationTech int tech) {
try { try {
return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability, tech); return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability, tech);
@@ -1590,7 +1585,7 @@ public class ProvisioningManager {
@WorkerThread @WorkerThread
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE) @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
public void setRcsProvisioningStatusForCapability( public void setRcsProvisioningStatusForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability, @ImsRcsManager.RcsImsCapabilityFlag int capability,
boolean isProvisioned) { boolean isProvisioned) {
try { try {
getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability, getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability,
@@ -1622,7 +1617,7 @@ public class ProvisioningManager {
@WorkerThread @WorkerThread
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE) @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
public void setRcsProvisioningStatusForCapability( public void setRcsProvisioningStatusForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability, @ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech, boolean isProvisioned) { @ImsRegistrationImplBase.ImsRegistrationTech int tech, boolean isProvisioned) {
try { try {
getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability, getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability,
@@ -1676,7 +1671,7 @@ public class ProvisioningManager {
*/ */
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
public boolean isRcsProvisioningRequiredForCapability( public boolean isRcsProvisioningRequiredForCapability(
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability, @ImsRcsManager.RcsImsCapabilityFlag int capability,
@ImsRegistrationImplBase.ImsRegistrationTech int tech) { @ImsRegistrationImplBase.ImsRegistrationTech int tech) {
try { try {
return getITelephony().isRcsProvisioningRequiredForCapability(mSubId, capability, tech); 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 * 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 * SIP OPTIONS. If set, the RcsFeature should support capability exchange. If not set, this
* RcsFeature should not publish capabilities or service capability requests. * RcsFeature should not publish capabilities or service capability requests.
* @deprecated Use {@link ImsRcsManager#CAPABILITY_TYPE_OPTIONS_UCE} instead.
* @hide * @hide
*/ */
@Deprecated
public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1 << 0; public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1 << 0;
/** /**
* This carrier supports User Capability Exchange as, defined by the framework using a * 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 * presence server. If set, the RcsFeature should support capability exchange. If not set, this
* RcsFeature should not publish capabilities or service capability requests. * RcsFeature should not publish capabilities or service capability requests.
* @deprecated Use {@link ImsRcsManager#CAPABILITY_TYPE_PRESENCE_UCE} instead.
* @hide * @hide
*/ */
@Deprecated
@SystemApi @SystemApi
public static final int CAPABILITY_TYPE_PRESENCE_UCE = 1 << 1; public static final int CAPABILITY_TYPE_PRESENCE_UCE = 1 << 1;
/**@hide*/ /**
* @deprecated Use {@link ImsRcsManager.RcsImsCapabilityFlag} instead.
* @hide
*/
@Deprecated
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = "CAPABILITY_TYPE_", value = { @IntDef(prefix = "CAPABILITY_TYPE_", value = {
CAPABILITY_TYPE_OPTIONS_UCE, CAPABILITY_TYPE_OPTIONS_UCE,

View File

@@ -396,7 +396,7 @@ public class MmTelFeature extends ImsFeature {
/** /**
* Undefined capability type for initialization * Undefined capability type for initialization
* This is used to check the upper range of MmTel capability * This is used to check the upper range of MmTel capability
* {@hide} * @hide
*/ */
public static final int CAPABILITY_TYPE_NONE = 0; 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 * 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; 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 * 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 * deregistered (depending on the capability change) and become available or unavailable to
* the framework. * the framework.
* * @hide * @hide
*/ */
@Override @Override
@SystemApi @SystemApi

View File

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

View File

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