Merge "Make string version of APN_TYPEs a @SystemApi"

This commit is contained in:
Daniel Bright
2020-03-02 19:13:48 +00:00
committed by Gerrit Code Review
3 changed files with 151 additions and 13 deletions

View File

@@ -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();

View File

@@ -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()) {

View File

@@ -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,