Merge "Add new Telephony feature flags and update API annotations"

This commit is contained in:
Treehugger Robot
2022-05-13 17:13:38 +00:00
committed by Gerrit Code Review
16 changed files with 324 additions and 1 deletions

View File

@@ -11473,7 +11473,7 @@ package android.content.pm {
field public static final String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full"; field public static final String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full";
field public static final String FEATURE_CANT_SAVE_STATE = "android.software.cant_save_state"; field public static final String FEATURE_CANT_SAVE_STATE = "android.software.cant_save_state";
field public static final String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; field public static final String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup";
field public static final String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; field @Deprecated public static final String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice";
field public static final String FEATURE_CONSUMER_IR = "android.hardware.consumerir"; field public static final String FEATURE_CONSUMER_IR = "android.hardware.consumerir";
field public static final String FEATURE_CONTROLS = "android.software.controls"; field public static final String FEATURE_CONTROLS = "android.software.controls";
field public static final String FEATURE_DEVICE_ADMIN = "android.software.device_admin"; field public static final String FEATURE_DEVICE_ADMIN = "android.software.device_admin";
@@ -11544,12 +11544,18 @@ package android.content.pm {
field public static final String FEATURE_SIP = "android.software.sip"; field public static final String FEATURE_SIP = "android.software.sip";
field public static final String FEATURE_SIP_VOIP = "android.software.sip.voip"; field public static final String FEATURE_SIP_VOIP = "android.software.sip.voip";
field public static final String FEATURE_STRONGBOX_KEYSTORE = "android.hardware.strongbox_keystore"; field public static final String FEATURE_STRONGBOX_KEYSTORE = "android.hardware.strongbox_keystore";
field public static final String FEATURE_TELECOM = "android.software.telecom";
field public static final String FEATURE_TELEPHONY = "android.hardware.telephony"; field public static final String FEATURE_TELEPHONY = "android.hardware.telephony";
field public static final String FEATURE_TELEPHONY_CALLING = "android.hardware.telephony.calling";
field public static final String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma"; field public static final String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma";
field public static final String FEATURE_TELEPHONY_DATA = "android.hardware.telephony.data";
field public static final String FEATURE_TELEPHONY_EUICC = "android.hardware.telephony.euicc"; field public static final String FEATURE_TELEPHONY_EUICC = "android.hardware.telephony.euicc";
field public static final String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm"; field public static final String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm";
field public static final String FEATURE_TELEPHONY_IMS = "android.hardware.telephony.ims"; field public static final String FEATURE_TELEPHONY_IMS = "android.hardware.telephony.ims";
field public static final String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms"; field public static final String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms";
field public static final String FEATURE_TELEPHONY_MESSAGING = "android.hardware.telephony.messaging";
field public static final String FEATURE_TELEPHONY_RADIO_ACCESS = "android.hardware.telephony.radio";
field public static final String FEATURE_TELEPHONY_SUBSCRIPTION = "android.hardware.telephony.subscription";
field @Deprecated public static final String FEATURE_TELEVISION = "android.hardware.type.television"; field @Deprecated public static final String FEATURE_TELEVISION = "android.hardware.type.television";
field public static final String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen"; field public static final String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen";
field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch"; field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch";

View File

@@ -2929,6 +2929,8 @@ public abstract class PackageManager {
/** /**
* Feature for {@link #getSystemAvailableFeatures} and * Feature for {@link #getSystemAvailableFeatures} and
* {@link #hasSystemFeature}: The device has a CDMA telephony stack. * {@link #hasSystemFeature}: The device has a CDMA telephony stack.
*
* <p>This feature should only be defined if {@link #FEATURE_TELEPHONY} has been defined.
*/ */
@SdkConstant(SdkConstantType.FEATURE) @SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma"; public static final String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma";
@@ -2936,6 +2938,8 @@ public abstract class PackageManager {
/** /**
* Feature for {@link #getSystemAvailableFeatures} and * Feature for {@link #getSystemAvailableFeatures} and
* {@link #hasSystemFeature}: The device has a GSM telephony stack. * {@link #hasSystemFeature}: The device has a GSM telephony stack.
*
* <p>This feature should only be defined if {@link #FEATURE_TELEPHONY} has been defined.
*/ */
@SdkConstant(SdkConstantType.FEATURE) @SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm"; public static final String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm";
@@ -2947,6 +2951,9 @@ public abstract class PackageManager {
* <p>Devices declaring this feature must have an implementation of the * <p>Devices declaring this feature must have an implementation of the
* {@link android.telephony.TelephonyManager#getAllowedCarriers} and * {@link android.telephony.TelephonyManager#getAllowedCarriers} and
* {@link android.telephony.TelephonyManager#setAllowedCarriers}. * {@link android.telephony.TelephonyManager#setAllowedCarriers}.
*
* This feature should only be defined if {@link #FEATURE_TELEPHONY_SUBSCRIPTION}
* has been defined.
* @hide * @hide
*/ */
@SystemApi @SystemApi
@@ -2957,6 +2964,9 @@ public abstract class PackageManager {
/** /**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device
* supports embedded subscriptions on eUICCs. * supports embedded subscriptions on eUICCs.
*
* This feature should only be defined if {@link #FEATURE_TELEPHONY_SUBSCRIPTION}
* has been defined.
*/ */
@SdkConstant(SdkConstantType.FEATURE) @SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_EUICC = "android.hardware.telephony.euicc"; public static final String FEATURE_TELEPHONY_EUICC = "android.hardware.telephony.euicc";
@@ -2964,6 +2974,9 @@ public abstract class PackageManager {
/** /**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device
* supports cell-broadcast reception using the MBMS APIs. * supports cell-broadcast reception using the MBMS APIs.
*
* <p>This feature should only be defined if both {@link #FEATURE_TELEPHONY_SUBSCRIPTION}
* and {@link #FEATURE_TELEPHONY_RADIO_ACCESS} have been defined.
*/ */
@SdkConstant(SdkConstantType.FEATURE) @SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms"; public static final String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms";
@@ -2971,6 +2984,8 @@ public abstract class PackageManager {
/** /**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device
* supports attaching to IMS implementations using the ImsService API in telephony. * supports attaching to IMS implementations using the ImsService API in telephony.
*
* <p>This feature should only be defined if {@link #FEATURE_TELEPHONY_DATA} has been defined.
*/ */
@SdkConstant(SdkConstantType.FEATURE) @SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_IMS = "android.hardware.telephony.ims"; public static final String FEATURE_TELEPHONY_IMS = "android.hardware.telephony.ims";
@@ -3006,6 +3021,62 @@ public abstract class PackageManager {
public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION =
"android.hardware.telephony.ims.singlereg"; "android.hardware.telephony.ims.singlereg";
/**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
* The device supports Telecom Service APIs.
*/
@SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELECOM = "android.software.telecom";
/**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
* The device supports Telephony APIs for calling service.
*
* <p>This feature should only be defined if {@link #FEATURE_TELEPHONY_RADIO_ACCESS},
* {@link #FEATURE_TELEPHONY_SUBSCRIPTION}, and {@link #FEATURE_TELECOM} have been defined.
*/
@SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_CALLING = "android.hardware.telephony.calling";
/**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
* The device supports Telephony APIs for data service.
*
* <p>This feature should only be defined if both {@link #FEATURE_TELEPHONY_SUBSCRIPTION}
* and {@link #FEATURE_TELEPHONY_RADIO_ACCESS} have been defined.
*/
@SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_DATA = "android.hardware.telephony.data";
/**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
* The device supports Telephony APIs for SMS and MMS.
*
* <p>This feature should only be defined if both {@link #FEATURE_TELEPHONY_SUBSCRIPTION}
* and {@link #FEATURE_TELEPHONY_RADIO_ACCESS} have been defined.
*/
@SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_MESSAGING = "android.hardware.telephony.messaging";
/**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
* The device supports Telephony APIs for the radio access.
*
* <p>This feature should only be defined if {@link #FEATURE_TELEPHONY} has been defined.
*/
@SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_RADIO_ACCESS = "android.hardware.telephony.radio";
/**
* Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
* The device supports Telephony APIs for the subscription.
*
* <p>This feature should only be defined if {@link #FEATURE_TELEPHONY} has been defined.
*/
@SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_TELEPHONY_SUBSCRIPTION =
"android.hardware.telephony.subscription";
/** /**
* Feature for {@link #getSystemAvailableFeatures} and * Feature for {@link #getSystemAvailableFeatures} and
* {@link #hasSystemFeature}: The device is capable of communicating with * {@link #hasSystemFeature}: The device is capable of communicating with
@@ -3047,7 +3118,9 @@ public abstract class PackageManager {
/** /**
* Feature for {@link #getSystemAvailableFeatures} and * Feature for {@link #getSystemAvailableFeatures} and
* {@link #hasSystemFeature}: The Connection Service API is enabled on the device. * {@link #hasSystemFeature}: The Connection Service API is enabled on the device.
* @deprecated use {@link #FEATURE_TELECOM} instead.
*/ */
@Deprecated
@SdkConstant(SdkConstantType.FEATURE) @SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; public static final String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice";

View File

@@ -20,6 +20,7 @@ import android.Manifest;
import android.annotation.IntDef; import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SuppressAutoDoc; import android.annotation.SuppressAutoDoc;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
@@ -31,6 +32,7 @@ import android.compat.annotation.UnsupportedAppUsage;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
@@ -70,6 +72,7 @@ import java.util.concurrent.Executor;
*/ */
@SuppressAutoDoc @SuppressAutoDoc
@SystemService(Context.TELECOM_SERVICE) @SystemService(Context.TELECOM_SERVICE)
@RequiresFeature(PackageManager.FEATURE_TELECOM)
public class TelecomManager { public class TelecomManager {
/** /**

View File

@@ -20,6 +20,7 @@ import android.Manifest;
import android.annotation.IntDef; import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SuppressAutoDoc; import android.annotation.SuppressAutoDoc;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
@@ -28,6 +29,7 @@ import android.annotation.SystemService;
import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager;
import android.net.NetworkCapabilities; import android.net.NetworkCapabilities;
import android.net.ipsec.ike.SaProposal; import android.net.ipsec.ike.SaProposal;
import android.os.Build; import android.os.Build;
@@ -55,6 +57,7 @@ import java.util.concurrent.TimeUnit;
* Provides access to telephony configuration values that are carrier-specific. * Provides access to telephony configuration values that are carrier-specific.
*/ */
@SystemService(Context.CARRIER_CONFIG_SERVICE) @SystemService(Context.CARRIER_CONFIG_SERVICE)
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_SUBSCRIPTION)
public class CarrierConfigManager { public class CarrierConfigManager {
private final static String TAG = "CarrierConfigManager"; private final static String TAG = "CarrierConfigManager";

View File

@@ -17,11 +17,13 @@
package android.telephony.ims; package android.telephony.ims;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.RequiresFeature;
import android.annotation.SdkConstant; import android.annotation.SdkConstant;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.annotation.SystemApi; import android.annotation.SystemApi;
import android.annotation.SystemService; import android.annotation.SystemService;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager;
import android.telephony.BinderCacheManager; import android.telephony.BinderCacheManager;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.telephony.TelephonyFrameworkInitializer; import android.telephony.TelephonyFrameworkInitializer;
@@ -33,6 +35,7 @@ import com.android.internal.telephony.ITelephony;
* Provides access to information about Telephony IMS services on the device. * Provides access to information about Telephony IMS services on the device.
*/ */
@SystemService(Context.TELEPHONY_IMS_SERVICE) @SystemService(Context.TELEPHONY_IMS_SERVICE)
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_IMS)
public class ImsManager { public class ImsManager {
/** /**

View File

@@ -22,6 +22,7 @@ import android.annotation.IntDef;
import android.annotation.IntRange; import android.annotation.IntRange;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SuppressAutoDoc; import android.annotation.SuppressAutoDoc;
import android.annotation.SystemApi; import android.annotation.SystemApi;
@@ -32,6 +33,7 @@ import android.compat.annotation.ChangeId;
import android.compat.annotation.EnabledAfter; import android.compat.annotation.EnabledAfter;
import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager;
import android.database.CursorWindow; import android.database.CursorWindow;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
@@ -75,6 +77,7 @@ import java.util.concurrent.Executor;
* *
* @see SubscriptionManager#getActiveSubscriptionInfoList() * @see SubscriptionManager#getActiveSubscriptionInfoList()
*/ */
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_MESSAGING)
public final class SmsManager { public final class SmsManager {
private static final String TAG = "SmsManager"; private static final String TAG = "SmsManager";

View File

@@ -26,6 +26,7 @@ import android.annotation.DurationMillisLong;
import android.annotation.IntDef; import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SdkConstant; import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SdkConstant.SdkConstantType;
@@ -92,6 +93,7 @@ import java.util.stream.Collectors;
* and provides information about the current Telephony Subscriptions. * and provides information about the current Telephony Subscriptions.
*/ */
@SystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE) @SystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE)
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_SUBSCRIPTION)
public class SubscriptionManager { public class SubscriptionManager {
private static final String LOG_TAG = "SubscriptionManager"; private static final String LOG_TAG = "SubscriptionManager";
private static final boolean DBG = false; private static final boolean DBG = false;

File diff suppressed because it is too large Load Diff

View File

@@ -19,6 +19,8 @@ package android.telephony;
import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.internal.util.Preconditions.checkNotNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.content.pm.PackageManager;
import android.os.Binder; import android.os.Binder;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
@@ -42,6 +44,7 @@ import java.util.concurrent.Executor;
/** /**
* Manages the radio access network scan requests and callbacks. * Manages the radio access network scan requests and callbacks.
*/ */
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_RADIO_ACCESS)
public final class TelephonyScanManager { public final class TelephonyScanManager {
private static final String TAG = "TelephonyScanManager"; private static final String TAG = "TelephonyScanManager";

View File

@@ -19,8 +19,10 @@ import android.annotation.CallbackExecutor;
import android.annotation.IntDef; import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.SystemApi; import android.annotation.SystemApi;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Binder; import android.os.Binder;
import android.os.RemoteException; import android.os.RemoteException;
import android.service.euicc.EuiccProfileInfo; import android.service.euicc.EuiccProfileInfo;
@@ -61,6 +63,7 @@ import java.util.concurrent.Executor;
* @hide * @hide
*/ */
@SystemApi @SystemApi
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_EUICC)
public class EuiccCardManager { public class EuiccCardManager {
private static final String TAG = "EuiccCardManager"; private static final String TAG = "EuiccCardManager";

View File

@@ -19,6 +19,7 @@ import android.Manifest;
import android.annotation.IntDef; import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SdkConstant; import android.annotation.SdkConstant;
import android.annotation.SystemApi; import android.annotation.SystemApi;
@@ -54,6 +55,7 @@ import java.util.stream.Collectors;
* *
* <p>See {@link #isEnabled} before attempting to use these APIs. * <p>See {@link #isEnabled} before attempting to use these APIs.
*/ */
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_EUICC)
public class EuiccManager { public class EuiccManager {
/** /**

View File

@@ -21,11 +21,13 @@ import android.Manifest;
import android.annotation.CallbackExecutor; import android.annotation.CallbackExecutor;
import android.annotation.IntDef; import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SuppressAutoDoc; import android.annotation.SuppressAutoDoc;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.annotation.SystemApi; import android.annotation.SystemApi;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Binder; import android.os.Binder;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceSpecificException; import android.os.ServiceSpecificException;
@@ -61,6 +63,7 @@ import java.util.function.Consumer;
* Use {@link android.telephony.ims.ImsManager#getImsMmTelManager(int)} to get an instance of this * Use {@link android.telephony.ims.ImsManager#getImsMmTelManager(int)} to get an instance of this
* manager. * manager.
*/ */
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_IMS)
public class ImsMmTelManager implements RegistrationManager { public class ImsMmTelManager implements RegistrationManager {
private static final String TAG = "ImsMmTelManager"; private static final String TAG = "ImsMmTelManager";

View File

@@ -19,11 +19,13 @@ package android.telephony.ims;
import android.Manifest; import android.Manifest;
import android.annotation.CallbackExecutor; import android.annotation.CallbackExecutor;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SdkConstant; import android.annotation.SdkConstant;
import android.annotation.SystemApi; import android.annotation.SystemApi;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Binder; import android.os.Binder;
import android.os.IBinder; import android.os.IBinder;
import android.os.RemoteException; import android.os.RemoteException;
@@ -53,6 +55,7 @@ import java.util.function.Consumer;
* *
* Use {@link ImsManager#getImsRcsManager(int)} to create an instance of this manager. * Use {@link ImsManager#getImsRcsManager(int)} to create an instance of this manager.
*/ */
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_IMS)
public class ImsRcsManager { public class ImsRcsManager {
private static final String TAG = "ImsRcsManager"; private static final String TAG = "ImsRcsManager";

View File

@@ -20,6 +20,7 @@ import android.Manifest;
import android.annotation.CallbackExecutor; import android.annotation.CallbackExecutor;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SdkConstant; import android.annotation.SdkConstant;
import android.annotation.StringDef; import android.annotation.StringDef;
@@ -55,6 +56,7 @@ import java.util.concurrent.Executor;
* applications and may vary. It is up to the carrier and OEM applications to ensure that the * applications and may vary. It is up to the carrier and OEM applications to ensure that the
* correct provisioning keys are being used when integrating with a vendor's ImsService. * correct provisioning keys are being used when integrating with a vendor's ImsService.
*/ */
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_IMS)
public class ProvisioningManager { public class ProvisioningManager {
private static final String TAG = "ProvisioningManager"; private static final String TAG = "ProvisioningManager";

View File

@@ -21,7 +21,9 @@ import android.annotation.CallbackExecutor;
import android.annotation.IntDef; import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Binder; import android.os.Binder;
import android.os.Bundle; import android.os.Bundle;
@@ -42,6 +44,7 @@ import java.util.function.Consumer;
/** /**
* Manages IMS Service registration state for associated {@link ImsFeature}s. * Manages IMS Service registration state for associated {@link ImsFeature}s.
*/ */
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_IMS)
public interface RegistrationManager { public interface RegistrationManager {
/** /**

View File

@@ -21,6 +21,7 @@ import android.annotation.IntDef;
import android.annotation.IntRange; import android.annotation.IntRange;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission; import android.annotation.RequiresPermission;
import android.annotation.SystemApi; import android.annotation.SystemApi;
import android.content.Context; import android.content.Context;
@@ -57,6 +58,7 @@ import java.util.concurrent.Executor;
* @hide * @hide
*/ */
@SystemApi @SystemApi
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION)
public class SipDelegateManager { public class SipDelegateManager {
/** /**