Merge "Refactored DataProfile and ApnSetting"
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java
index 5aa91f7..29e12e1 100644
--- a/src/java/com/android/internal/telephony/RIL.java
+++ b/src/java/com/android/internal/telephony/RIL.java
@@ -704,6 +704,7 @@
private void handleRadioProxyExceptionForRR(RILRequest rr, String caller, Exception e) {
riljLoge(caller + ": " + e);
+ e.printStackTrace();
resetProxyAndRequestList();
}
diff --git a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
index 85d3974..a4447ad 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DataConnection.java
@@ -743,9 +743,9 @@
return;
}
- if (apn != null && apn.getMtu() != PhoneConstants.UNSET_MTU) {
- lp.setMtu(apn.getMtu());
- if (DBG) log("MTU set by APN to: " + apn.getMtu());
+ if (apn != null && apn.getMtuV4() != PhoneConstants.UNSET_MTU) {
+ lp.setMtu(apn.getMtuV4());
+ if (DBG) log("MTU set by APN to: " + apn.getMtuV4());
return;
}
@@ -883,8 +883,10 @@
Message msg = obtainMessage(EVENT_SETUP_DATA_CONNECTION_DONE, cp);
msg.obj = cp;
- DataProfile dp = DcTracker.createDataProfile(mApnSetting, cp.mProfileId,
- cp.mIsPreferredApn);
+ DataProfile dp = new DataProfile.Builder()
+ .setApnSetting(mApnSetting)
+ .setPreferred(cp.mIsPreferredApn)
+ .build();
// We need to use the actual modem roaming state instead of the framework roaming state
// here. This flag is only passed down to ril_service for picking the correct protocol (for
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
index 6305e06..2cc0dec 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
@@ -2016,14 +2016,6 @@
ArrayList<ApnSetting> dunCandidates = new ArrayList<ApnSetting>();
ArrayList<ApnSetting> retDunSettings = new ArrayList<ApnSetting>();
- // Places to look for tether APN in order: TETHER_DUN_APN setting (to be deprecated soon),
- // APN database
- String apnData = Settings.Global.getString(mResolver, Settings.Global.TETHER_DUN_APN);
- if (!TextUtils.isEmpty(apnData)) {
- dunCandidates.addAll(ApnSetting.arrayFromString(apnData));
- if (VDBG) log("fetchDunApns: dunCandidates from Setting: " + dunCandidates);
- }
-
if (dunCandidates.isEmpty()) {
if (!ArrayUtils.isEmpty(mAllApnSettings)) {
for (ApnSetting apn : mAllApnSettings) {
@@ -2321,8 +2313,10 @@
if (DBG) log("setInitialAttachApn: X There in no available apn.");
} else {
if (DBG) log("setInitialAttachApn: X selected APN=" + apnSetting);
- mDataServiceManager.setInitialAttachApn(createDataProfile(apnSetting,
- apnSetting.equals(getPreferredApn())),
+ mDataServiceManager.setInitialAttachApn(new DataProfile.Builder()
+ .setApnSetting(apnSetting)
+ .setPreferred(apnSetting.equals(getPreferredApn()))
+ .build(),
mPhone.getServiceState().getDataRoamingFromRegistration(), null);
}
}
@@ -3492,7 +3486,10 @@
for (ApnSetting apn : mAllApnSettings) {
if (apn.getApnSetId() == Telephony.Carriers.MATCH_ALL_APN_SET_ID
|| preferredApnSetId == apn.getApnSetId()) {
- DataProfile dp = createDataProfile(apn, apn.equals(getPreferredApn()));
+ DataProfile dp = new DataProfile.Builder()
+ .setApnSetting(apn)
+ .setPreferred(apn.equals(getPreferredApn()))
+ .build();
if (!dataProfileList.contains(dp)) {
dataProfileList.add(dp);
}
@@ -3608,15 +3605,37 @@
int networkTypeBitmask = (dest.getNetworkTypeBitmask() == 0
|| src.getNetworkTypeBitmask() == 0)
? 0 : (dest.getNetworkTypeBitmask() | src.getNetworkTypeBitmask());
-
- return ApnSetting.makeApnSetting(id, dest.getOperatorNumeric(), dest.getEntryName(),
- dest.getApnName(), proxy, port, mmsc, mmsProxy, mmsPort, dest.getUser(),
- dest.getPassword(), dest.getAuthType(), resultApnType, protocol, roamingProtocol,
- dest.isEnabled(), networkTypeBitmask, dest.getProfileId(),
- (dest.isPersistent() || src.isPersistent()), dest.getMaxConns(),
- dest.getWaitTime(), dest.getMaxConnsTime(), dest.getMtu(), dest.getMvnoType(),
- dest.getMvnoMatchData(), dest.getApnSetId(), dest.getCarrierId(),
- dest.getSkip464Xlat());
+ return new ApnSetting.Builder()
+ .setId(id)
+ .setOperatorNumeric(dest.getOperatorNumeric())
+ .setEntryName(dest.getEntryName())
+ .setApnName(dest.getApnName())
+ .setProxyAddress(proxy)
+ .setProxyPort(port)
+ .setMmsc(mmsc)
+ .setMmsProxyAddress(mmsProxy)
+ .setMmsProxyPort(mmsPort)
+ .setUser(dest.getUser())
+ .setPassword(dest.getPassword())
+ .setAuthType(dest.getAuthType())
+ .setApnTypeBitmask(resultApnType)
+ .setProtocol(protocol)
+ .setRoamingProtocol(roamingProtocol)
+ .setCarrierEnabled(dest.isEnabled())
+ .setNetworkTypeBitmask(networkTypeBitmask)
+ .setProfileId(dest.getProfileId())
+ .setModemCognitive(dest.isPersistent() || src.isPersistent())
+ .setMaxConns(dest.getMaxConns())
+ .setWaitTime(dest.getWaitTime())
+ .setMaxConnsTime(dest.getMaxConnsTime())
+ .setMtuV4(dest.getMtuV4())
+ .setMtuV6(dest.getMtuV6())
+ .setMvnoType(dest.getMvnoType())
+ .setMvnoMatchData(dest.getMvnoMatchData())
+ .setApnSetId(dest.getApnSetId())
+ .setCarrierId(dest.getCarrierId())
+ .setSkip464Xlat(dest.getSkip464Xlat())
+ .build();
}
private DataConnection createDataConnection() {
@@ -5489,50 +5508,6 @@
mWatchdog = false;
}
- private static DataProfile createDataProfile(ApnSetting apn, boolean isPreferred) {
- return createDataProfile(apn, apn.getProfileId(), isPreferred);
- }
-
- @VisibleForTesting
- public static DataProfile createDataProfile(ApnSetting apn, int profileId,
- boolean isPreferred) {
- int profileType;
-
- int networkTypeBitmask = apn.getNetworkTypeBitmask();
-
- if (networkTypeBitmask == 0) {
- profileType = DataProfile.TYPE_COMMON;
- } else if ((networkTypeBitmask & TelephonyManager.NETWORK_STANDARDS_FAMILY_BITMASK_3GPP2)
- == networkTypeBitmask) {
- profileType = DataProfile.TYPE_3GPP2;
- } else if ((networkTypeBitmask & TelephonyManager.NETWORK_STANDARDS_FAMILY_BITMASK_3GPP)
- == networkTypeBitmask) {
- profileType = DataProfile.TYPE_3GPP;
- } else {
- profileType = DataProfile.TYPE_COMMON;
- }
-
- return new DataProfile.Builder()
- .setProfileId(profileId)
- .setApn(apn.getApnName())
- .setProtocolType(apn.getProtocol())
- .setAuthType(apn.getAuthType())
- .setUserName(apn.getUser() == null ? "" : apn.getUser())
- .setPassword(apn.getPassword() == null ? "" : apn.getPassword())
- .setType(profileType)
- .setMaxConnectionsTime(apn.getMaxConnsTime())
- .setMaxConnections(apn.getMaxConns())
- .setWaitTime(apn.getWaitTime())
- .enable(apn.isEnabled())
- .setSupportedApnTypesBitmask(apn.getApnTypeBitmask())
- .setRoamingProtocolType(apn.getRoamingProtocol())
- .setBearerBitmask(networkTypeBitmask)
- .setMtu(apn.getMtu())
- .setPersistent(apn.isPersistent())
- .setPreferred(isPreferred)
- .build();
- }
-
private void onDataServiceBindingChanged(boolean bound) {
if (!bound) {
if (mTransportType == AccessNetworkConstants.TRANSPORT_TYPE_WLAN) {
diff --git a/tests/telephonytests/src/com/android/internal/telephony/RILTest.java b/tests/telephonytests/src/com/android/internal/telephony/RILTest.java
index 149115a..8c7f848 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/RILTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/RILTest.java
@@ -167,8 +167,6 @@
import androidx.test.filters.FlakyTest;
-import com.android.internal.telephony.dataconnection.DcTracker;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -272,14 +270,14 @@
private static final int AUTH_TYPE = 0;
private static final String USER_NAME = "username";
private static final String PASSWORD = "password";
- private static final int TYPE = 0;
- private static final int MAX_CONNS_TIME = 1;
- private static final int MAX_CONNS = 3;
- private static final int WAIT_TIME = 10;
+ private static final int TYPE = DataProfile.TYPE_3GPP;
private static final boolean APN_ENABLED = true;
- private static final int SUPPORTED_APN_TYPES_BITMASK = 123456;
+ private static final int SUPPORTED_APN_TYPES_BITMASK = ApnSetting.TYPE_CBS
+ | ApnSetting.TYPE_IMS;
+ private static final int SUPPORTED_NETWORK_TYPES_BITMASK =
+ (int) (TelephonyManager.NETWORK_TYPE_BITMASK_UMTS
+ | TelephonyManager.NETWORK_TYPE_BITMASK_LTE);
private static final int ROAMING_PROTOCOL = ApnSetting.PROTOCOL_IPV6;
- private static final int BEARER_BITMASK = 123123;
private static final int MTU = 1234;
private static final boolean PERSISTENT = true;
@@ -1024,12 +1022,21 @@
@FlakyTest
@Test
public void testSetInitialAttachApn() throws Exception {
- ApnSetting apnSetting = ApnSetting.makeApnSetting(
- -1, "22210", "Vodafone IT", "web.omnitel.it", null, -1,
- null, null, -1, "", "", 0, ApnSetting.TYPE_DUN, ApnSetting.PROTOCOL_IP,
- ApnSetting.PROTOCOL_IP, true, 0, 0, false, 0, 0, 0, 0, -1, "");
- DataProfile dataProfile = DcTracker.createDataProfile(
- apnSetting, apnSetting.getProfileId(), false);
+ ApnSetting apnSetting = new ApnSetting.Builder()
+ .setId(-1)
+ .setOperatorNumeric("22210")
+ .setEntryName("Vodafone IT")
+ .setApnName("web.omnitel.it")
+ .setApnTypeBitmask(ApnSetting.TYPE_DUN)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
+
+ DataProfile dataProfile = new DataProfile.Builder()
+ .setApnSetting(apnSetting)
+ .setPreferred(false)
+ .build();
boolean isRoaming = false;
mRILUnderTest.setInitialAttachApn(dataProfile, isRoaming, obtainMessage());
@@ -2588,23 +2595,25 @@
@Test
public void testSetupDataCall() throws Exception {
- DataProfile dp = new DataProfile.Builder()
+ ApnSetting apn = new ApnSetting.Builder()
+ .setId(1234)
+ .setEntryName(APN)
+ .setApnName(APN)
+ .setApnTypeBitmask(SUPPORTED_APN_TYPES_BITMASK)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setCarrierEnabled(true)
.setProfileId(PROFILE_ID)
- .setApn(APN)
- .setProtocolType(PROTOCOL)
.setAuthType(AUTH_TYPE)
- .setUserName(USER_NAME)
+ .setUser(USER_NAME)
.setPassword(PASSWORD)
- .setType(TYPE)
- .setMaxConnectionsTime(MAX_CONNS_TIME)
- .setMaxConnections(MAX_CONNS)
- .setWaitTime(WAIT_TIME)
- .enable(APN_ENABLED)
- .setSupportedApnTypesBitmask(SUPPORTED_APN_TYPES_BITMASK)
- .setRoamingProtocolType(ROAMING_PROTOCOL)
- .setBearerBitmask(BEARER_BITMASK)
- .setMtu(MTU)
- .setPersistent(PERSISTENT)
+ .setNetworkTypeBitmask(SUPPORTED_NETWORK_TYPES_BITMASK)
+ .setMtuV4(MTU)
+ .setModemCognitive(true)
+ .build();
+
+ DataProfile dp = new DataProfile.Builder()
+ .setApnSetting(apn)
.setPreferred(false)
.build();
@@ -2625,14 +2634,11 @@
assertEquals(USER_NAME, dpi.user);
assertEquals(PASSWORD, dpi.password);
assertEquals(TYPE, dpi.type);
- assertEquals(MAX_CONNS_TIME, dpi.maxConnsTime);
- assertEquals(MAX_CONNS, dpi.maxConns);
- assertEquals(WAIT_TIME, dpi.waitTime);
assertEquals(APN_ENABLED, dpi.enabled);
assertEquals(SUPPORTED_APN_TYPES_BITMASK, dpi.supportedApnTypesBitmap);
assertEquals(ROAMING_PROTOCOL, ApnSetting.getProtocolIntFromString(dpi.protocol));
assertEquals(
- BEARER_BITMASK,
+ SUPPORTED_NETWORK_TYPES_BITMASK,
ServiceState.convertBearerBitmaskToNetworkTypeBitmask(dpi.bearerBitmap >> 1));
assertEquals(MTU, dpi.mtu);
}
diff --git a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/ApnContextTest.java b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/ApnContextTest.java
index 85d1e5e..729a6c2 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/ApnContextTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/ApnContextTest.java
@@ -198,32 +198,16 @@
public void testProvisionApn() throws Exception {
mContextFixture.putResource(R.string.mobile_provisioning_apn, "fake_apn");
- ApnSetting myApn = ApnSetting.makeApnSetting(
- 2163, // id
- "44010", // numeric
- "sp-mode", // name
- "fake_apn", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bismask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ ApnSetting myApn = new ApnSetting.Builder()
+ .setId(2163)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("fake_apn")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
mApnContext.setApnSetting(myApn);
assertTrue(mApnContext.isProvisioningApn());
diff --git a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/ApnSettingTest.java b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/ApnSettingTest.java
index 0b19baf..504fe94 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/ApnSettingTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/ApnSettingTest.java
@@ -24,6 +24,7 @@
import static org.mockito.Mockito.doReturn;
import android.net.Uri;
+import android.os.Parcel;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
@@ -40,7 +41,6 @@
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.net.InetAddress;
-import java.util.ArrayList;
import java.util.List;
public class ApnSettingTest extends TelephonyTest {
@@ -67,32 +67,16 @@
}
private static ApnSetting createApnSettingInternal(int apnTypeBitmask, boolean carrierEnabled) {
- return ApnSetting.makeApnSetting(
- 2163, // id
- "44010", // numeric
- "sp-mode", // name
- "spmode.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- apnTypeBitmask, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- carrierEnabled, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ return new ApnSetting.Builder()
+ .setId(2163)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("fake_apn")
+ .setApnTypeBitmask(apnTypeBitmask)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(carrierEnabled)
+ .build();
}
private static void assertApnSettingsEqual(List<ApnSetting> a1, List<ApnSetting> a2) {
@@ -124,7 +108,7 @@
assertEquals(a1.getMaxConns(), a2.getMaxConns());
assertEquals(a1.getWaitTime(), a2.getWaitTime());
assertEquals(a1.getMaxConnsTime(), a2.getMaxConnsTime());
- assertEquals(a1.getMtu(), a2.getMtu());
+ assertEquals(a1.getMtuV4(), a2.getMtuV4());
assertEquals(a1.getMvnoType(), a2.getMvnoType());
assertEquals(a1.getMvnoMatchData(), a2.getMvnoMatchData());
assertEquals(a1.getNetworkTypeBitmask(), a2.getNetworkTypeBitmask());
@@ -134,194 +118,6 @@
@Test
@SmallTest
- public void testFromString() {
- final int dunTypesBitmask = ApnSetting.TYPE_DUN;
- final int mmsTypesBitmask = ApnSetting.TYPE_MMS | ApnSetting.TYPE_ALL;
-
- ApnSetting expectedApn;
- String testString;
-
- // A real-world v1 example string.
- testString = "Vodafone IT,web.omnitel.it,,,,,,,,,222,10,,DUN";
- expectedApn = ApnSetting.makeApnSetting(
- -1, "22210", "Vodafone IT", "web.omnitel.it", "", -1, null, "", -1, "", "", 0,
- dunTypesBitmask, ApnSetting.PROTOCOL_IP, ApnSetting.PROTOCOL_IP, true,
- 0, 0, false, 0, 0, 0, 0, -1, "");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v2 string.
- testString = "[ApnSettingV2] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,14";
- int networkTypeBitmask = 1 << (13 - 1);
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- networkTypeBitmask, 0, false, 0, 0, 0, 0, -1, "");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v2 string with spaces.
- testString = "[ApnSettingV2] Name,apn, ,,,,,,,,123,45,,mms|*,IPV6, IP,true,14";
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- networkTypeBitmask, 0, false, 0, 0, 0, 0, -1, "");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v3 string.
- testString = "[ApnSettingV3] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,14,,,,,,,spn,testspn";
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- networkTypeBitmask, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v4 string with network type bitmask.
- testString =
- "[ApnSettingV4] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,0,,,,,,,spn,testspn,6";
- networkTypeBitmask = 1 << (6 - 1);
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- networkTypeBitmask, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- testString =
- "[ApnSettingV4] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,0,,,,,,,spn,testspn,"
- + "4|5|6|7|8|12|13|14|19";
- // The value was calculated by adding "4|5|6|7|8|12|13|14|19".
- networkTypeBitmask = 276728;
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- networkTypeBitmask, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v4 string with network type bitmask and compatible bearer bitmask.
- testString =
- "[ApnSettingV4] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,8,,,,,,,spn,testspn, 6";
- networkTypeBitmask = 1 << (6 - 1);
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- networkTypeBitmask, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v4 string with network type bitmask and incompatible bearer bitmask.
- testString =
- "[ApnSettingV4] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,9,,,,,,,spn,testspn, 6";
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- networkTypeBitmask, 0, false, 0,
- 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v5 string with apnSetId=0
- testString =
- "[ApnSettingV5] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,0,,,,,,,spn,testspn,0,0";
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 0, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn");
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v5 string with apnSetId=3
- testString =
- "[ApnSettingV5] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,0,,,,,,,spn,testspn,0,3";
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 0, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn", 3, -1, -1);
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v6 string with carrierId=100
- testString =
- "[ApnSettingV5] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,0,,,,,,,spn,testspn,0,3,"
- + "100";
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 0, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn", 3, 100, -1);
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // A v7 string with skip_464xlat=1
- testString =
- "[ApnSettingV7] Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,0,,,,,,,spn,testspn,0,3,"
- + "-1, 1";
- expectedApn = ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 0, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn", 3, -1, 1);
- assertApnSettingEqual(expectedApn, ApnSetting.fromString(testString));
-
- // Return no apn if insufficient fields given.
- testString = "[ApnSettingV3] Name,apn,,,,,,,,,123, 45,,mms|*";
- assertEquals(null, ApnSetting.fromString(testString));
-
- testString = "Name,apn,,,,,,,,,123, 45,";
- assertEquals(null, ApnSetting.fromString(testString));
- }
-
- @Test
- @SmallTest
- public void testArrayFromString() {
- final int mmsTypesBitmask = ApnSetting.TYPE_MMS;
- // Test a multiple v3 string.
- String testString =
- "[ApnSettingV3] Name,apn,,,,,,,,,123,45,,mms,IPV6,IP,true,14,,,,,,,spn,testspn";
- testString +=
- " ;[ApnSettingV3] Name1,apn1,,,,,,,,,123,46,,mms,IPV6,IP,true,12,,,,,,,gid,testGid";
- testString +=
- " ;[ApnSettingV3] Name1,apn2,,,,,,,,,123,46,,mms,IPV6,IP,true,12,,,,,,,,";
- testString +=
- " ;[ApnSettingV5] Name1,apn2,,,,,,,,,123,46,,mms,IPV6,IP,true,0,,,,,,,,,,3";
- List<ApnSetting> expectedApns = new ArrayList<ApnSetting>();
- expectedApns.add(ApnSetting.makeApnSetting(
- -1, "12345", "Name", "apn", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 1 << (13 - 1), 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "testspn"));
- expectedApns.add(ApnSetting.makeApnSetting(
- -1, "12346", "Name1", "apn1", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 1 << (12 - 1), 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_GID, "testGid"));
- expectedApns.add(ApnSetting.makeApnSetting(
- -1, "12346", "Name1", "apn2", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 1 << (12 - 1), 0, false, 0, 0, 0, 0, -1, ""));
- expectedApns.add(ApnSetting.makeApnSetting(
- -1, "12346", "Name1", "apn2", "", -1, null, "", -1, "", "", 0,
- mmsTypesBitmask, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 0, 0, false, 0, 0, 0, 0, -1, "", 3, -1, -1));
- assertApnSettingsEqual(expectedApns, ApnSetting.arrayFromString(testString));
- }
-
- @Test
- @SmallTest
- public void testToString() {
- // Use default apn_set_id constructor.
- ApnSetting apn = ApnSetting.makeApnSetting(
- 99, "12345", "Name", "apn", null, 10,
- null, null, -1, "user", "password", 0,
- ApnSetting.TYPE_DEFAULT, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- 4096, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "");
- String expected = "[ApnSettingV7] Name, 99, 12345, apn, null, "
- + "null, null, null, 10, 0, hipri | default, "
- + "IPV6, IP, true, 0, false, 0, 0, 0, 0, spn, , false, 4096, 0, -1, -1";
- assertEquals(expected, apn.toString());
-
- final int networkTypeBitmask = 1 << (14 - 1);
- apn = ApnSetting.makeApnSetting(
- 99, "12345", "Name", "apn", null, 10,
- null, null, -1, "user", "password", 0,
- ApnSetting.TYPE_DEFAULT, ApnSetting.PROTOCOL_IPV6, ApnSetting.PROTOCOL_IP, true,
- networkTypeBitmask, 0, false, 0, 0, 0, 0, ApnSetting.MVNO_TYPE_SPN, "", 3, -1, 1);
- expected = "[ApnSettingV7] Name, 99, 12345, apn, null, "
- + "null, null, null, 10, 0, hipri | default, "
- + "IPV6, IP, true, 0, false, 0, 0, 0, 0, spn, , false, 8192, 3, -1, 1";
- assertEquals(expected, apn.toString());
- }
-
- @Test
- @SmallTest
public void testIsMetered() {
mBundle.putStringArray(CarrierConfigManager.KEY_CARRIER_METERED_APN_TYPES_STRINGS,
new String[]{ApnSetting.TYPE_DEFAULT_STRING, ApnSetting.TYPE_MMS_STRING});
@@ -652,59 +448,32 @@
@Test
@SmallTest
public void testEqualsRoamingProtocol() {
- ApnSetting apn1 = ApnSetting.makeApnSetting(
- 1234,
- "310260",
- "",
- "ims",
- null,
- -1,
- null,
- null,
- -1,
- "",
- "",
- -1,
- ApnSetting.TYPE_IMS,
- ApnSetting.PROTOCOL_IPV6,
- -1,
- true,
- ServiceState.convertBearerBitmaskToNetworkTypeBitmask(131071),
- 0,
- false,
- 0,
- 0,
- 0,
- 1440,
- -1,
- "");
+ ApnSetting apn1 = new ApnSetting.Builder()
+ .setId(1234)
+ .setOperatorNumeric("310260")
+ .setEntryName("ims")
+ .setApnName("ims")
+ .setApnTypeBitmask(ApnSetting.TYPE_IMS)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setNetworkTypeBitmask(
+ ServiceState.convertBearerBitmaskToNetworkTypeBitmask(131071))
+ .setMtuV4(1440)
+ .setCarrierEnabled(true)
+ .build();
- ApnSetting apn2 = ApnSetting.makeApnSetting(
- 1235,
- "310260",
- "",
- "ims",
- null,
- -1,
- null,
- null,
- -1,
- "",
- "",
- -1,
- ApnSetting.TYPE_IMS,
- ApnSetting.PROTOCOL_IPV6,
- ApnSetting.PROTOCOL_IPV6,
- true,
- ServiceState.convertBearerBitmaskToNetworkTypeBitmask(131072),
- 0,
- false,
- 0,
- 0,
- 0,
- 1440,
- -1,
- "");
+ ApnSetting apn2 = new ApnSetting.Builder()
+ .setId(1235)
+ .setOperatorNumeric("310260")
+ .setEntryName("ims")
+ .setApnName("ims")
+ .setApnTypeBitmask(ApnSetting.TYPE_IMS)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setNetworkTypeBitmask(
+ ServiceState.convertBearerBitmaskToNetworkTypeBitmask(131072))
+ .setMtuV4(1440)
+ .setCarrierEnabled(true)
+ .build();
assertTrue(apn1.equals(apn2, false));
assertFalse(apn1.equals(apn2, true));
@@ -713,61 +482,32 @@
@Test
@SmallTest
public void testCanHandleNetwork() {
- ApnSetting apn1 = ApnSetting.makeApnSetting(
- 1234,
- "310260",
- "",
- "ims",
- null,
- -1,
- null,
- null,
- -1,
- "",
- "",
- -1,
- ApnSetting.TYPE_IMS,
- ApnSetting.PROTOCOL_IPV6,
- -1,
- true,
- (int) (TelephonyManager.NETWORK_TYPE_BITMASK_LTE
- | TelephonyManager.NETWORK_TYPE_BITMASK_UMTS),
- 0,
- false,
- 0,
- 0,
- 0,
- 1440,
- -1,
- "");
+ ApnSetting apn1 = new ApnSetting.Builder()
+ .setId(1234)
+ .setOperatorNumeric("310260")
+ .setEntryName("ims")
+ .setApnName("ims")
+ .setApnTypeBitmask(ApnSetting.TYPE_IMS)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setNetworkTypeBitmask((int) (TelephonyManager.NETWORK_TYPE_BITMASK_LTE
+ | TelephonyManager.NETWORK_TYPE_BITMASK_UMTS))
+ .setMtuV4(1440)
+ .setCarrierEnabled(true)
+ .build();
- ApnSetting apn2 = ApnSetting.makeApnSetting(
- 1235,
- "310260",
- "",
- "ims",
- null,
- -1,
- null,
- null,
- -1,
- "",
- "",
- -1,
- ApnSetting.TYPE_IMS,
- ApnSetting.PROTOCOL_IPV6,
- ApnSetting.PROTOCOL_IPV6,
- true,
- (int) (TelephonyManager.NETWORK_TYPE_BITMASK_EDGE
- | TelephonyManager.NETWORK_TYPE_BITMASK_GPRS),
- 0,
- false,
- 0,
- 0,
- 0,
- 1440,
- -1,
- "");
+ ApnSetting apn2 = new ApnSetting.Builder()
+ .setId(1235)
+ .setOperatorNumeric("310260")
+ .setEntryName("ims")
+ .setApnName("ims")
+ .setApnTypeBitmask(ApnSetting.TYPE_IMS)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setNetworkTypeBitmask((int) (TelephonyManager.NETWORK_TYPE_BITMASK_EDGE
+ | TelephonyManager.NETWORK_TYPE_BITMASK_GPRS))
+ .setMtuV4(1440)
+ .setCarrierEnabled(true)
+ .build();
assertFalse(apn1.canSupportNetworkType(TelephonyManager.NETWORK_TYPE_1xRTT));
assertTrue(apn1.canSupportNetworkType(TelephonyManager.NETWORK_TYPE_LTE));
@@ -780,4 +520,19 @@
assertTrue(apn2.canSupportNetworkType(TelephonyManager.NETWORK_TYPE_GSM));
}
+
+ @Test
+ public void testParcel() {
+ ApnSetting apn = createApnSetting(ApnSetting.TYPE_DEFAULT);
+
+ Parcel parcel = Parcel.obtain();
+ apn.writeToParcel(parcel, 0 /* flags */);
+ parcel.setDataPosition(0);
+
+ ApnSetting fromParcel = ApnSetting.CREATOR.createFromParcel(parcel);
+
+ assertEquals(apn, fromParcel);
+
+ parcel.recycle();
+ }
}
diff --git a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataConnectionTest.java b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataConnectionTest.java
index ca8abeb..84a26fa 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataConnectionTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataConnectionTest.java
@@ -54,6 +54,7 @@
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
+import android.provider.Telephony;
import android.telephony.AccessNetworkConstants;
import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.CarrierConfigManager;
@@ -118,173 +119,75 @@
private DataConnectionTestHandler mDataConnectionTestHandler;
private DcController mDcc;
- private ApnSetting mApn1 = ApnSetting.makeApnSetting(
- 2163, // id
- "44010", // numeric
- "sp-mode", // name
- "spmode.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn1 = new ApnSetting.Builder()
+ .setId(2163)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("spmode.ne.jp")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
- private ApnSetting mApn2 = ApnSetting.makeApnSetting(
- 2164, // id
- "44010", // numeric
- "sp-mode", // name
- "spmode.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_DUN, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn2 = new ApnSetting.Builder()
+ .setId(2164)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("spmode.ne.jp")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_DUN)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
- private ApnSetting mApn3 = ApnSetting.makeApnSetting(
- 2165, // id
- "44010", // numeric
- "sp-mode", // name
- "spmode.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT, // types
- ApnSetting.PROTOCOL_IPV6, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- "", // mnvo_match_data
- 0, // apn_set_id
- -1, // carrier_id
- 1); // skip_464xlat
+ private ApnSetting mApn3 = new ApnSetting.Builder()
+ .setId(2165)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("spmode.ne.jp")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setNetworkTypeBitmask(0)
+ .setCarrierEnabled(true)
+ .setCarrierId(1)
+ .setSkip464Xlat(1)
+ .build();
- private ApnSetting mApn4 = ApnSetting.makeApnSetting(
- 2166, // id
- "44010", // numeric
- "sp-mode", // name
- "spmode.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_IMS, // types
- ApnSetting.PROTOCOL_IPV6, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn4 = new ApnSetting.Builder()
+ .setId(2166)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("spmode.ne.jp")
+ .setApnTypeBitmask(ApnSetting.TYPE_IMS)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
- private ApnSetting mApn5 = ApnSetting.makeApnSetting(
- 2167, // id
- "44010", // numeric
- "sp-mode", // name
- "spmode.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_IMS, // types
- ApnSetting.PROTOCOL_IPV6, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- "", // mnvo_match_data
- 0, // apn_set_id
- -1, // carrier_id
- 0); // skip_464xlat
+ private ApnSetting mApn5 = new ApnSetting.Builder()
+ .setId(2167)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("spmode.ne.jp")
+ .setApnTypeBitmask(ApnSetting.TYPE_IMS)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .setSkip464Xlat(Telephony.Carriers.SKIP_464XLAT_DISABLE)
+ .build();
- private ApnSetting mApn6 = ApnSetting.makeApnSetting(
- 2168, // id
- "44010", // numeric
- "sp-mode", // name
- "spmode.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_EMERGENCY, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn6 = new ApnSetting.Builder()
+ .setId(2168)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("spmode.ne.jp")
+ .setApnTypeBitmask(ApnSetting.TYPE_EMERGENCY)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
private class DataConnectionTestHandler extends HandlerThread {
diff --git a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataProfileTest.java b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataProfileTest.java
index b641ecd..565f098 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataProfileTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DataProfileTest.java
@@ -16,127 +16,98 @@
package com.android.internal.telephony.dataconnection;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+
+import android.os.Parcel;
import android.telephony.data.ApnSetting;
import android.telephony.data.DataProfile;
-import android.test.suitebuilder.annotation.SmallTest;
import com.android.internal.telephony.RILConstants;
-import junit.framework.TestCase;
+import org.junit.Test;
-public class DataProfileTest extends TestCase {
+public class DataProfileTest {
- private ApnSetting mApn1 = ApnSetting.makeApnSetting(
- 2163, // id
- "44010", // numeric
- "sp-mode", // name
- "fake_apn", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "user", // user
- "passwd", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IPV6, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 1234, // profile_id
- false, // modem_cognitive
- 321, // max_conns
- 456, // wait_time
- 789, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn1 = new ApnSetting.Builder()
+ .setId(2163)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("fake_apn")
+ .setUser("user")
+ .setPassword("passwd")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IPV6)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .setNetworkTypeBitmask(0)
+ .setProfileId(1234)
+ .setMaxConns(321)
+ .setWaitTime(456)
+ .setMaxConnsTime(789)
+ .build();
- private ApnSetting mApn2 = ApnSetting.makeApnSetting(
- 2163, // id
- "44010", // numeric
- "sp-mode", // name
- "fake_apn", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "user", // user
- "passwd", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 1234, // profile_id
- false, // modem_cognitive
- 111, // max_conns
- 456, // wait_time
- 789, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn2 = new ApnSetting.Builder()
+ .setId(2163)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("fake_apn")
+ .setUser("user")
+ .setPassword("passwd")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .setNetworkTypeBitmask(0)
+ .setProfileId(1234)
+ .setMaxConns(111)
+ .setWaitTime(456)
+ .setMaxConnsTime(789)
+ .build();
- private ApnSetting mApn3 = ApnSetting.makeApnSetting(
- 2163, // id
- "44010", // numeric
- "sp-mode", // name
- "fake_apn", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "user", // user
- "passwd", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 276600, // networktype_bitmask
- 1234, // profile_id
- false, // modem_cognitive
- 111, // max_conns
- 456, // wait_time
- 789, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn3 = new ApnSetting.Builder()
+ .setId(2163)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("fake_apn")
+ .setUser("user")
+ .setPassword("passwd")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .setNetworkTypeBitmask(276600)
+ .setProfileId(1234)
+ .setMaxConns(111)
+ .setWaitTime(456)
+ .setMaxConnsTime(789)
+ .build();
- private ApnSetting mApn4 = ApnSetting.makeApnSetting(
- 2163, // id
- "44010", // numeric
- "sp-mode", // name
- "fake_apn", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "user", // user
- "passwd", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 10360, // networktype_bitmask
- 1234, // profile_id
- false, // modem_cognitive
- 111, // max_conns
- 456, // wait_time
- 789, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn4 = new ApnSetting.Builder()
+ .setId(2163)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("fake_apn")
+ .setUser("user")
+ .setPassword("passwd")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .setNetworkTypeBitmask(10360)
+ .setProfileId(1234)
+ .setMaxConns(111)
+ .setWaitTime(456)
+ .setMaxConnsTime(789)
+ .build();
- @SmallTest
+ @Test
public void testCreateFromApnSetting() throws Exception {
- DataProfile dp = DcTracker.createDataProfile(mApn1, mApn1.getProfileId(), false);
+ DataProfile dp = new DataProfile.Builder()
+ .setApnSetting(mApn1)
+ .setPreferred(false)
+ .build();
assertEquals(mApn1.getProfileId(), dp.getProfileId());
assertEquals(mApn1.getApnName(), dp.getApn());
assertEquals(mApn1.getProtocol(), dp.getProtocolType());
@@ -150,9 +121,12 @@
assertFalse(dp.isPreferred());
}
- @SmallTest
+ @Test
public void testCreateFromApnSettingWithNetworkTypeBitmask() throws Exception {
- DataProfile dp = DcTracker.createDataProfile(mApn3, mApn3.getProfileId(), false);
+ DataProfile dp = new DataProfile.Builder()
+ .setApnSetting(mApn3)
+ .setPreferred(false)
+ .build();
assertEquals(mApn3.getProfileId(), dp.getProfileId());
assertEquals(mApn3.getApnName(), dp.getApn());
assertEquals(mApn3.getProtocol(), dp.getProtocolType());
@@ -164,17 +138,47 @@
assertEquals(mApn3.isEnabled(), dp.isEnabled());
int expectedBearerBitmap = mApn3.getNetworkTypeBitmask();
assertEquals(expectedBearerBitmap, dp.getBearerBitmask());
- dp = DcTracker.createDataProfile(mApn4, mApn4.getProfileId(), false);
+ dp = new DataProfile.Builder()
+ .setApnSetting(mApn4)
+ .setPreferred(false)
+ .build();
assertEquals(2, dp.getType()); // TYPE_3GPP2
}
- @SmallTest
+ @Test
public void testEquals() throws Exception {
- DataProfile dp1 = DcTracker.createDataProfile(mApn1, mApn1.getProfileId(), false);
- DataProfile dp2 = DcTracker.createDataProfile(mApn1, mApn1.getProfileId(), false);
+ DataProfile dp1 = new DataProfile.Builder()
+ .setApnSetting(mApn1)
+ .setPreferred(false)
+ .build();
+ DataProfile dp2 = new DataProfile.Builder()
+ .setApnSetting(mApn1)
+ .setPreferred(false)
+ .build();
assertEquals(dp1, dp2);
- dp2 = DcTracker.createDataProfile(mApn2, mApn2.getProfileId(), false);
- assertFalse(dp1.equals(dp2));
+ dp2 = new DataProfile.Builder()
+ .setApnSetting(mApn2)
+ .setPreferred(false)
+ .build();
+ assertNotEquals(dp1, dp2);
+ }
+
+ @Test
+ public void testParcel() {
+ DataProfile dp = new DataProfile.Builder()
+ .setApnSetting(mApn1)
+ .setPreferred(false)
+ .build();
+
+ Parcel parcel = Parcel.obtain();
+ dp.writeToParcel(parcel, 0 /* flags */);
+ parcel.setDataPosition(0);
+
+ DataProfile fromParcel = DataProfile.CREATOR.createFromParcel(parcel);
+
+ assertEquals(dp, fromParcel);
+
+ parcel.recycle();
}
}
diff --git a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java
index f0e2b88..a29df1a 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java
@@ -35,7 +35,6 @@
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -364,7 +363,7 @@
1, // carrier_enabled
0, // bearer
0, // bearer_bitmask
- 0, // profile_id
+ 2, // profile_id
1, // modem_cognitive
0, // max_conns
0, // wait_time
@@ -539,7 +538,7 @@
1, // carrier_enabled
ServiceState.RIL_RADIO_TECHNOLOGY_LTE, // bearer
0, // bearer_bitmask
- 0, // profile_id
+ 2, // profile_id
1, // modem_cognitive
0, // max_conns
0, // wait_time
@@ -1759,101 +1758,6 @@
assertTrue(mDct.isAnyDataConnected());
}
- // Test for fetchDunApns()
- @Test
- @SmallTest
- public void testFetchDunApn() {
-
- sendInitializationEvents();
-
- String dunApnString = "[ApnSettingV3]HOT mobile PC,pc.hotm,,,,,,,,,440,10,,DUN,,,true,"
- + "0,,,,,,,,";
- ApnSetting dunApnExpected = ApnSetting.fromString(dunApnString);
-
- Settings.Global.putString(mContext.getContentResolver(),
- Settings.Global.TETHER_DUN_APN, dunApnString);
- // should return APN from Setting
- ApnSetting dunApn = mDct.fetchDunApns().get(0);
- assertTrue(dunApnExpected.equals(dunApn));
-
- Settings.Global.putString(mContext.getContentResolver(),
- Settings.Global.TETHER_DUN_APN, null);
- // should return APN from db
- dunApn = mDct.fetchDunApns().get(0);
- assertEquals(FAKE_APN5, dunApn.getApnName());
- }
-
- // Test for fetchDunApns() with apn set id
- @Test
- @SmallTest
- public void testFetchDunApnWithPreferredApnSet() {
- sendCarrierConfigChanged("testFetchDunApnWithPreferredApnSet: ");
-
- // apnSetId=1
- String dunApnString1 = "[ApnSettingV5]HOT mobile PC,pc.hotm,,,,,,,,,440,10,,DUN,,,true,"
- + "0,,,,,,,,,,1";
- // apnSetId=0
- String dunApnString2 = "[ApnSettingV5]HOT mobile PC,pc.coldm,,,,,,,,,440,10,,DUN,,,true,"
- + "0,,,,,,,,,,2";
-
- ApnSetting dunApnExpected = ApnSetting.fromString(dunApnString1);
-
- ContentResolver cr = mContext.getContentResolver();
- Settings.Global.putString(cr, Settings.Global.TETHER_DUN_APN,
- dunApnString1 + ";" + dunApnString2);
-
- // set that we prefer apn set 1
- ContentValues values = new ContentValues();
- values.put(Telephony.Carriers.APN_SET_ID, 1);
- cr.update(PREFERAPN_URI, values, null, null);
-
- // return APN from Setting with apnSetId=1
- ArrayList<ApnSetting> dunApns = mDct.fetchDunApns();
- assertEquals(1, dunApns.size());
- assertEquals(1, dunApns.get(0).getApnSetId());
- assertTrue(dunApnExpected.equals(dunApns.get(0)));
-
- // set that we prefer apn set 2
- values = new ContentValues();
- values.put(Telephony.Carriers.APN_SET_ID, 2);
- cr.update(PREFERAPN_URI, values, null, null);
-
- // return APN from Setting with apnSetId=2
- dunApns = mDct.fetchDunApns();
- assertEquals(1, dunApns.size());
- assertEquals(2, dunApns.get(0).getApnSetId());
- dunApnExpected = ApnSetting.fromString(dunApnString2);
- assertTrue(dunApnExpected.equals(dunApns.get(0)));
- }
-
- @Test
- @SmallTest
- public void testFetchDunApnWhileRoaming() {
- doReturn(true).when(mServiceState).getRoaming();
- mBundle.putBoolean(CarrierConfigManager
- .KEY_DISABLE_DUN_APN_WHILE_ROAMING_WITH_PRESET_APN_BOOL, true);
-
- sendInitializationEvents();
-
- String dunApnString = "[ApnSettingV3]HOT mobile PC,pc.hotm,,,,,,,,,440,10,,DUN,,,true,"
- + "0,,,,,,,,";
-
- Settings.Global.putString(mContext.getContentResolver(),
- Settings.Global.TETHER_DUN_APN, dunApnString);
-
- DcTracker spyDct = spy(mDct);
- doReturn(true).when(spyDct).isPreferredApnUserEdited();
- // Expect non-empty DUN APN list
- assertEquals(1, spyDct.fetchDunApns().size());
-
- doReturn(false).when(spyDct).isPreferredApnUserEdited();
- // Expect empty DUN APN list
- assertEquals(0, spyDct.fetchDunApns().size());
-
- Settings.Global.putString(mContext.getContentResolver(),
- Settings.Global.TETHER_DUN_APN, null);
- }
-
/**
* Test that fetchDunApns() returns list that prioritize the preferred APN when the preferred
* APN including DUN type.
diff --git a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/RetryManagerTest.java b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/RetryManagerTest.java
index 159e204..514418f 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/RetryManagerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/RetryManagerTest.java
@@ -44,86 +44,38 @@
public class RetryManagerTest extends TelephonyTest {
// This is the real APN data for the Japanese carrier NTT Docomo.
- private ApnSetting mApn1 = ApnSetting.makeApnSetting(
- 2163, // id
- "44010", // numeric
- "sp-mode", // name
- "spmode.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn1 = new ApnSetting.Builder()
+ .setId(2163)
+ .setOperatorNumeric("44010")
+ .setEntryName("sp-mode")
+ .setApnName("spmode.ne.jp")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
- private ApnSetting mApn2 = ApnSetting.makeApnSetting(
- 2164, // id
- "44010", // numeric
- "mopera U", // name
- "mopera.net", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- -1, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn2 = new ApnSetting.Builder()
+ .setId(2164)
+ .setOperatorNumeric("44010")
+ .setEntryName("mopera U")
+ .setApnName("mopera.net")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
- private ApnSetting mApn3 = ApnSetting.makeApnSetting(
- 2165, // id
- "44010", // numeric
- "b-mobile for Nexus", // name
- "bmobile.ne.jp", // apn
- null, // proxy
- -1, // port
- null, // mmsc
- null, // mmsproxy
- -1, // mmsport
- "", // user
- "", // password
- 3, // authtype
- ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL, // types
- ApnSetting.PROTOCOL_IP, // protocol
- ApnSetting.PROTOCOL_IP, // roaming_protocol
- true, // carrier_enabled
- 0, // networktype_bitmask
- 0, // profile_id
- false, // modem_cognitive
- 0, // max_conns
- 0, // wait_time
- 0, // max_conns_time
- 0, // mtu
- -1, // mvno_type
- ""); // mnvo_match_data
+ private ApnSetting mApn3 = new ApnSetting.Builder()
+ .setId(2165)
+ .setOperatorNumeric("44010")
+ .setEntryName("b-mobile for Nexus")
+ .setApnName("bmobile.ne.jp")
+ .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_SUPL)
+ .setProtocol(ApnSetting.PROTOCOL_IP)
+ .setRoamingProtocol(ApnSetting.PROTOCOL_IP)
+ .setCarrierEnabled(true)
+ .build();
private PersistableBundle mBundle;