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

Commit 941ff72b authored by Daniel Bright's avatar Daniel Bright Committed by Gerrit Code Review
Browse files

Merge "Make string version of APN_TYPEs a @SystemApi"

parents 8157fac6 71206ec9
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -9591,6 +9591,23 @@ package android.telephony.cdma {
package android.telephony.data {
  public class ApnSetting implements android.os.Parcelable {
    method @NonNull public static String getApnTypesStringFromBitmask(int);
    field public static final String TYPE_ALL_STRING = "*";
    field public static final String TYPE_CBS_STRING = "cbs";
    field public static final String TYPE_DEFAULT_STRING = "default";
    field public static final String TYPE_DUN_STRING = "dun";
    field public static final String TYPE_EMERGENCY_STRING = "emergency";
    field public static final String TYPE_FOTA_STRING = "fota";
    field public static final String TYPE_HIPRI_STRING = "hipri";
    field public static final String TYPE_IA_STRING = "ia";
    field public static final String TYPE_IMS_STRING = "ims";
    field public static final String TYPE_MCX_STRING = "mcx";
    field public static final String TYPE_MMS_STRING = "mms";
    field public static final String TYPE_SUPL_STRING = "supl";
    field public static final String TYPE_XCAP_STRING = "xcap";
  }
  public final class DataCallResponse implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
+120 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.telephony.data;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.content.ContentValues;
import android.database.Cursor;
import android.hardware.radio.V1_5.ApnTypes;
@@ -124,6 +125,122 @@ public class ApnSetting implements Parcelable {
    /** Authentication type for PAP or CHAP. */
    public static final int AUTH_TYPE_PAP_OR_CHAP = 3;

    /**
     * APN types for data connections.  These are usage categories for an APN
     * entry.  One APN entry may support multiple APN types, eg, a single APN
     * may service regular internet traffic ("default") as well as MMS-specific
     * connections.<br/>
     * APN_TYPE_ALL is a special type to indicate that this APN entry can
     * service all data connections.
     * <p>
     * Note: The goal is to deprecate this.  Due to the Carrier Table being used
     * directly, this isn't feasible right now.
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_ALL_STRING = "*";

    /**
     * APN type for default data traffic
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_DEFAULT_STRING = "default";


    /**
     * APN type for MMS traffic
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_MMS_STRING = "mms";


    /**
     * APN type for SUPL assisted GPS
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_SUPL_STRING = "supl";

    /**
     * APN type for DUN traffic
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_DUN_STRING = "dun";

    /**
     * APN type for HiPri traffic
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_HIPRI_STRING = "hipri";

    /**
     * APN type for FOTA
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_FOTA_STRING = "fota";

    /**
     * APN type for IMS
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_IMS_STRING = "ims";

    /**
     * APN type for CBS
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_CBS_STRING = "cbs";

    /**
     * APN type for IA Initial Attach APN
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_IA_STRING = "ia";

    /**
     * APN type for Emergency PDN. This is not an IA apn, but is used
     * for access to carrier services in an emergency call situation.
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_EMERGENCY_STRING = "emergency";

    /**
     * APN type for Mission Critical Services
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_MCX_STRING = "mcx";

    /**
     * APN type for XCAP
     *
     * @hide
     */
    @SystemApi
    public static final String TYPE_XCAP_STRING = "xcap";


    /** @hide */
    @IntDef(prefix = { "AUTH_TYPE_" }, value = {
        AUTH_TYPE_NONE,
@@ -1290,10 +1407,13 @@ public class ApnSetting implements Parcelable {
    }

    /**
     * Converts the integer value of an APN type to the string version.
     * @param apnTypeBitmask bitmask of APN types.
     * @return comma delimited list of APN types.
     * @hide
     */
    @SystemApi
    @NonNull
    public static String getApnTypesStringFromBitmask(int apnTypeBitmask) {
        List<String> types = new ArrayList<>();
        for (Integer type : APN_TYPE_INT_MAP.keySet()) {
+14 −13
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package com.android.internal.telephony;

import android.compat.annotation.UnsupportedAppUsage;
import android.telephony.data.ApnSetting;

/**
 * @hide
@@ -131,32 +132,32 @@ public class PhoneConstants {
     * APN_TYPE_ALL is a special type to indicate that this APN entry can
     * service all data connections.
     */
    public static final String APN_TYPE_ALL = "*";
    public static final String APN_TYPE_ALL = ApnSetting.TYPE_ALL_STRING;
    /** APN type for default data traffic */
    public static final String APN_TYPE_DEFAULT = "default";
    public static final String APN_TYPE_DEFAULT = ApnSetting.TYPE_DEFAULT_STRING;
    /** APN type for MMS traffic */
    public static final String APN_TYPE_MMS = "mms";
    public static final String APN_TYPE_MMS = ApnSetting.TYPE_MMS_STRING;
    /** APN type for SUPL assisted GPS */
    public static final String APN_TYPE_SUPL = "supl";
    public static final String APN_TYPE_SUPL = ApnSetting.TYPE_SUPL_STRING;
    /** APN type for DUN traffic */
    public static final String APN_TYPE_DUN = "dun";
    public static final String APN_TYPE_DUN = ApnSetting.TYPE_DUN_STRING;
    /** APN type for HiPri traffic */
    public static final String APN_TYPE_HIPRI = "hipri";
    public static final String APN_TYPE_HIPRI = ApnSetting.TYPE_HIPRI_STRING;
    /** APN type for FOTA */
    public static final String APN_TYPE_FOTA = "fota";
    public static final String APN_TYPE_FOTA = ApnSetting.TYPE_FOTA_STRING;
    /** APN type for IMS */
    public static final String APN_TYPE_IMS = "ims";
    public static final String APN_TYPE_IMS = ApnSetting.TYPE_IMS_STRING;
    /** APN type for CBS */
    public static final String APN_TYPE_CBS = "cbs";
    public static final String APN_TYPE_CBS = ApnSetting.TYPE_CBS_STRING;
    /** APN type for IA Initial Attach APN */
    public static final String APN_TYPE_IA = "ia";
    public static final String APN_TYPE_IA = ApnSetting.TYPE_IA_STRING;
    /** APN type for Emergency PDN. This is not an IA apn, but is used
     * for access to carrier services in an emergency call situation. */
    public static final String APN_TYPE_EMERGENCY = "emergency";
    public static final String APN_TYPE_EMERGENCY = ApnSetting.TYPE_EMERGENCY_STRING;
    /** APN type for Mission Critical Services */
    public static final String APN_TYPE_MCX = "mcx";
    public static final String APN_TYPE_MCX = ApnSetting.TYPE_MCX_STRING;
    /** APN type for XCAP */
    public static final String APN_TYPE_XCAP = "xcap";
    public static final String APN_TYPE_XCAP = ApnSetting.TYPE_XCAP_STRING;
    /** Array of all APN types */
    public static final String[] APN_TYPES = {APN_TYPE_DEFAULT,
            APN_TYPE_MMS,