Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa21aea9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add new Telephony feature flags and update API annotations" am: 3d7b4e4d

parents 5df13aef 3d7b4e4d
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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_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_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_CONTROLS = "android.software.controls";
    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_VOIP = "android.software.sip.voip";
    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_CALLING = "android.hardware.telephony.calling";
    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_GSM = "android.hardware.telephony.gsm";
    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_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 public static final String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen";
    field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch";
+73 −0
Original line number Diff line number Diff line
@@ -2929,6 +2929,8 @@ public abstract class PackageManager {
    /**
     * Feature for {@link #getSystemAvailableFeatures} and
     * {@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)
    public static final String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma";
@@ -2936,6 +2938,8 @@ public abstract class PackageManager {
    /**
     * Feature for {@link #getSystemAvailableFeatures} and
     * {@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)
    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
     * {@link android.telephony.TelephonyManager#getAllowedCarriers} and
     * {@link android.telephony.TelephonyManager#setAllowedCarriers}.
     *
     * This feature should only be defined if {@link #FEATURE_TELEPHONY_SUBSCRIPTION}
     * has been defined.
     * @hide
     */
    @SystemApi
@@ -2957,6 +2964,9 @@ public abstract class PackageManager {
    /**
     * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device
     * supports embedded subscriptions on eUICCs.
     *
     * This feature should only be defined if {@link #FEATURE_TELEPHONY_SUBSCRIPTION}
     * has been defined.
     */
    @SdkConstant(SdkConstantType.FEATURE)
    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
     * 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)
    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
     * 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)
    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 =
            "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
     * {@link #hasSystemFeature}: The device is capable of communicating with
@@ -3047,7 +3118,9 @@ public abstract class PackageManager {
    /**
     * Feature for {@link #getSystemAvailableFeatures} and
     * {@link #hasSystemFeature}: The Connection Service API is enabled on the device.
     * @deprecated use {@link #FEATURE_TELECOM} instead.
     */
    @Deprecated
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice";

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

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

+3 −0
Original line number Diff line number Diff line
@@ -17,11 +17,13 @@
package android.telephony.ims;

import android.annotation.NonNull;
import android.annotation.RequiresFeature;
import android.annotation.SdkConstant;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.content.Context;
import android.content.pm.PackageManager;
import android.telephony.BinderCacheManager;
import android.telephony.SubscriptionManager;
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.
 */
@SystemService(Context.TELEPHONY_IMS_SERVICE)
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_IMS)
public class ImsManager {

    /**
Loading