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";
}