diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 8bbe6c826b769..1dbe34e201154 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -355,11 +355,17 @@ public class ConnectivityManager { */ public static final int TYPE_WIFI_P2P = 13; - /** {@hide} */ - public static final int MAX_RADIO_TYPE = TYPE_WIFI_P2P; + /** + * The network to use for initially attaching to the network + * {@hide} + */ + public static final int TYPE_MOBILE_IA = 14; /** {@hide} */ - public static final int MAX_NETWORK_TYPE = TYPE_WIFI_P2P; + public static final int MAX_RADIO_TYPE = TYPE_MOBILE_IA; + + /** {@hide} */ + public static final int MAX_NETWORK_TYPE = TYPE_MOBILE_IA; /** * If you want to set the default network preference,you can directly @@ -436,6 +442,8 @@ public class ConnectivityManager { return "MOBILE_CBS"; case TYPE_WIFI_P2P: return "WIFI_P2P"; + case TYPE_MOBILE_IA: + return "MOBILE_IA"; default: return Integer.toString(type); } @@ -458,6 +466,7 @@ public class ConnectivityManager { case TYPE_MOBILE_FOTA: case TYPE_MOBILE_IMS: case TYPE_MOBILE_CBS: + case TYPE_MOBILE_IA: return true; default: return false; @@ -489,6 +498,7 @@ public class ConnectivityManager { case TYPE_MOBILE_MMS: case TYPE_MOBILE_SUPL: case TYPE_MOBILE_HIPRI: + case TYPE_MOBILE_IA: return true; default: return false; diff --git a/core/java/android/net/MobileDataStateTracker.java b/core/java/android/net/MobileDataStateTracker.java index 5a1daed9511a8..e8c6dafb104f6 100644 --- a/core/java/android/net/MobileDataStateTracker.java +++ b/core/java/android/net/MobileDataStateTracker.java @@ -51,8 +51,8 @@ import java.io.PrintWriter; public class MobileDataStateTracker implements NetworkStateTracker { private static final String TAG = "MobileDataStateTracker"; - private static final boolean DBG = false; - private static final boolean VDBG = false; + private static final boolean DBG = true; + private static final boolean VDBG = true; private PhoneConstants.DataState mMobileDataState; private ITelephony mPhoneService; @@ -597,6 +597,8 @@ public class MobileDataStateTracker implements NetworkStateTracker { return PhoneConstants.APN_TYPE_IMS; case ConnectivityManager.TYPE_MOBILE_CBS: return PhoneConstants.APN_TYPE_CBS; + case ConnectivityManager.TYPE_MOBILE_IA: + return PhoneConstants.APN_TYPE_IA; default: sloge("Error mapping networkType " + netType + " to apnType."); return null; diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 8e86950f68ad2..321fd9e5b8e34 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -196,6 +196,7 @@ "mobile_ims,11,0,2,60000,true" "mobile_cbs,12,0,2,60000,true" "wifi_p2p,13,1,0,-1,true" + "mobile_ia,14,0,2,-1,true" 11 12 + 14 diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index b341693245b62..9615ff5fb89d4 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -472,6 +472,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { com.android.internal.R.array.radioAttributes); for (String raString : raStrings) { RadioAttributes r = new RadioAttributes(raString); + if (VDBG) log("raString=" + raString + " r=" + r); if (r.mType > ConnectivityManager.MAX_RADIO_TYPE) { loge("Error in radioAttributes - ignoring attempt to define type " + r.mType); continue; @@ -492,6 +493,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { for (String naString : naStrings) { try { NetworkConfig n = new NetworkConfig(naString); + if (VDBG) log("naString=" + naString + " config=" + n); if (n.type > ConnectivityManager.MAX_NETWORK_TYPE) { loge("Error in networkAttributes - ignoring attempt to define type " + n.type); @@ -518,6 +520,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { // ignore it - leave the entry null } } + if (VDBG) log("mNetworksDefined=" + mNetworksDefined); mProtectedNetworks = new ArrayList(); int[] protectedNetworks = context.getResources().getIntArray( diff --git a/telephony/java/com/android/internal/telephony/DctConstants.java b/telephony/java/com/android/internal/telephony/DctConstants.java index 4d8342c2b3566..4f1ae11ebeb52 100644 --- a/telephony/java/com/android/internal/telephony/DctConstants.java +++ b/telephony/java/com/android/internal/telephony/DctConstants.java @@ -106,7 +106,8 @@ public class DctConstants { public static final int APN_IMS_ID = 5; public static final int APN_FOTA_ID = 6; public static final int APN_CBS_ID = 7; - public static final int APN_NUM_TYPES = 8; + public static final int APN_IA_ID = 8; + public static final int APN_NUM_TYPES = 9; public static final int DISABLED = 0; public static final int ENABLED = 1; diff --git a/telephony/java/com/android/internal/telephony/PhoneConstants.java b/telephony/java/com/android/internal/telephony/PhoneConstants.java index 16ea625cce946..4a4a62b9640d8 100644 --- a/telephony/java/com/android/internal/telephony/PhoneConstants.java +++ b/telephony/java/com/android/internal/telephony/PhoneConstants.java @@ -119,5 +119,7 @@ public class PhoneConstants { public static final String APN_TYPE_IMS = "ims"; /** APN type for CBS */ public static final String APN_TYPE_CBS = "cbs"; + /** APN type for IA Initial Attach APN */ + public static final String APN_TYPE_IA = "ia"; }