Loading src/java/com/android/internal/telephony/data/DataProfileManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -287,7 +287,8 @@ public class DataProfileManager extends Handler { log("Added " + dataProfile); isInternetSupported |= apn.canHandleType(ApnSetting.TYPE_DEFAULT); if (mDataConfigManager.isApnConfigAnomalyReportEnabled()) { if (mDataConfigManager.isApnConfigAnomalyReportEnabled() && apn.getEditedStatus() == Telephony.Carriers.UNEDITED) { checkApnSetting(apn); } } Loading tests/telephonytests/src/com/android/internal/telephony/data/ApnSettingTest.java +36 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import static org.junit.Assert.assertEquals; import android.net.Uri; import android.os.Parcel; import android.os.PersistableBundle; import android.provider.Telephony; import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; Loading @@ -42,6 +43,7 @@ import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.net.InetAddress; import java.util.List; import java.util.Set; public class ApnSettingTest extends TelephonyTest { Loading Loading @@ -206,12 +208,16 @@ public class ApnSettingTest extends TelephonyTest { final String[] dummyStringArr = new String[] {"dummy"}; final InetAddress dummyProxyAddress = InetAddress.getByAddress(new byte[]{0, 0, 0, 0}); final Uri dummyUri = Uri.parse("www.google.com"); final Set<String> excludedFields = Set.of("mEditedStatus"); // base apn ApnSetting baseApn = createApnSetting(ApnSetting.TYPE_MMS | ApnSetting.TYPE_DEFAULT); Field[] fields = ApnSetting.class.getDeclaredFields(); for (Field f : fields) { int modifiers = f.getModifiers(); if (Modifier.isStatic(modifiers) || !Modifier.isFinal(modifiers)) { if (Modifier.isStatic(modifiers) || !Modifier.isFinal(modifiers) || excludedFields.contains(f.getName())) { continue; } f.setAccessible(true); Loading Loading @@ -414,4 +420,33 @@ public class ApnSettingTest extends TelephonyTest { // InfrastructureBitmask value set to '1(cellular)' assertEquals(infrastructureBitmask, apn2.getInfrastructureBitmask()); } @Test public void testEditedStatus() { ApnSetting apn = new ApnSetting.Builder() .setId(1234) .setOperatorNumeric("310260") .setEntryName("mms") .setApnName("mms") .setApnTypeBitmask(ApnSetting.TYPE_MMS | ApnSetting.TYPE_DEFAULT) .setProtocol(ApnSetting.PROTOCOL_IPV4V6) .setNetworkTypeBitmask((int) (TelephonyManager.NETWORK_TYPE_BITMASK_LTE)) .setEditedStatus(Telephony.Carriers.USER_EDITED) .build(); assertEquals(Telephony.Carriers.USER_EDITED, apn.getEditedStatus()); ApnSetting apn2 = new ApnSetting.Builder() .setId(1234) .setOperatorNumeric("310260") .setEntryName("mms") .setApnName("mms") .setApnTypeBitmask(ApnSetting.TYPE_MMS | ApnSetting.TYPE_DEFAULT) .setProtocol(ApnSetting.PROTOCOL_IPV4V6) .setNetworkTypeBitmask((int) (TelephonyManager.NETWORK_TYPE_BITMASK_LTE)) .setEditedStatus(Telephony.Carriers.CARRIER_EDITED) .build(); // The edited status should not affect equals assertEquals(apn, apn2); } } tests/telephonytests/src/com/android/internal/telephony/data/DataProfileManagerTest.java +47 −32 Original line number Diff line number Diff line Loading @@ -139,7 +139,8 @@ public class DataProfileManagerTest extends TelephonyTest { Telephony.Carriers.SKIP_464XLAT, Telephony.Carriers.ALWAYS_ON, Telephony.Carriers.INFRASTRUCTURE_BITMASK, Telephony.Carriers.ESIM_BOOTSTRAP_PROVISIONING Telephony.Carriers.ESIM_BOOTSTRAP_PROVISIONING, Telephony.Carriers.EDITED_STATUS }; private int mPreferredApnSet = 0; Loading Loading @@ -180,7 +181,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, // default internet data profile for RAT CDMA, to test update preferred data profile new Object[]{ Loading Loading @@ -217,7 +219,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 2, // id Loading Loading @@ -253,7 +256,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 3, // id Loading Loading @@ -289,7 +293,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 4, // id Loading Loading @@ -326,7 +331,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, // This APN entry is created to test de-duping. new Object[]{ Loading Loading @@ -364,7 +370,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 6, // id Loading Loading @@ -401,7 +408,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 7, // id Loading Loading @@ -438,7 +446,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 8, // id Loading Loading @@ -475,7 +484,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 9, // id Loading Loading @@ -512,7 +522,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 2, // INFRASTRUCTURE_SATELLITE 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 10, // id Loading Loading @@ -549,7 +560,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 1 // esim_bootstrap_provisioning 1, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 11, // id Loading Loading @@ -586,7 +598,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_SATELLITE 1 // esim_bootstrap_provisioning 1, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 12, // id Loading Loading @@ -623,7 +636,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 2, // INFRASTRUCTURE_SATELLITE 1 // esim_bootstrap_provisioning 1, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 13, // id Loading Loading @@ -660,7 +674,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 2, // INFRASTRUCTURE_SATELLITE 1 // esim_bootstrap_provisioning 1, // esim_bootstrap_provisioning 0 // UNEDITED } ); Loading Loading
src/java/com/android/internal/telephony/data/DataProfileManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -287,7 +287,8 @@ public class DataProfileManager extends Handler { log("Added " + dataProfile); isInternetSupported |= apn.canHandleType(ApnSetting.TYPE_DEFAULT); if (mDataConfigManager.isApnConfigAnomalyReportEnabled()) { if (mDataConfigManager.isApnConfigAnomalyReportEnabled() && apn.getEditedStatus() == Telephony.Carriers.UNEDITED) { checkApnSetting(apn); } } Loading
tests/telephonytests/src/com/android/internal/telephony/data/ApnSettingTest.java +36 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import static org.junit.Assert.assertEquals; import android.net.Uri; import android.os.Parcel; import android.os.PersistableBundle; import android.provider.Telephony; import android.telephony.ServiceState; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; Loading @@ -42,6 +43,7 @@ import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.net.InetAddress; import java.util.List; import java.util.Set; public class ApnSettingTest extends TelephonyTest { Loading Loading @@ -206,12 +208,16 @@ public class ApnSettingTest extends TelephonyTest { final String[] dummyStringArr = new String[] {"dummy"}; final InetAddress dummyProxyAddress = InetAddress.getByAddress(new byte[]{0, 0, 0, 0}); final Uri dummyUri = Uri.parse("www.google.com"); final Set<String> excludedFields = Set.of("mEditedStatus"); // base apn ApnSetting baseApn = createApnSetting(ApnSetting.TYPE_MMS | ApnSetting.TYPE_DEFAULT); Field[] fields = ApnSetting.class.getDeclaredFields(); for (Field f : fields) { int modifiers = f.getModifiers(); if (Modifier.isStatic(modifiers) || !Modifier.isFinal(modifiers)) { if (Modifier.isStatic(modifiers) || !Modifier.isFinal(modifiers) || excludedFields.contains(f.getName())) { continue; } f.setAccessible(true); Loading Loading @@ -414,4 +420,33 @@ public class ApnSettingTest extends TelephonyTest { // InfrastructureBitmask value set to '1(cellular)' assertEquals(infrastructureBitmask, apn2.getInfrastructureBitmask()); } @Test public void testEditedStatus() { ApnSetting apn = new ApnSetting.Builder() .setId(1234) .setOperatorNumeric("310260") .setEntryName("mms") .setApnName("mms") .setApnTypeBitmask(ApnSetting.TYPE_MMS | ApnSetting.TYPE_DEFAULT) .setProtocol(ApnSetting.PROTOCOL_IPV4V6) .setNetworkTypeBitmask((int) (TelephonyManager.NETWORK_TYPE_BITMASK_LTE)) .setEditedStatus(Telephony.Carriers.USER_EDITED) .build(); assertEquals(Telephony.Carriers.USER_EDITED, apn.getEditedStatus()); ApnSetting apn2 = new ApnSetting.Builder() .setId(1234) .setOperatorNumeric("310260") .setEntryName("mms") .setApnName("mms") .setApnTypeBitmask(ApnSetting.TYPE_MMS | ApnSetting.TYPE_DEFAULT) .setProtocol(ApnSetting.PROTOCOL_IPV4V6) .setNetworkTypeBitmask((int) (TelephonyManager.NETWORK_TYPE_BITMASK_LTE)) .setEditedStatus(Telephony.Carriers.CARRIER_EDITED) .build(); // The edited status should not affect equals assertEquals(apn, apn2); } }
tests/telephonytests/src/com/android/internal/telephony/data/DataProfileManagerTest.java +47 −32 Original line number Diff line number Diff line Loading @@ -139,7 +139,8 @@ public class DataProfileManagerTest extends TelephonyTest { Telephony.Carriers.SKIP_464XLAT, Telephony.Carriers.ALWAYS_ON, Telephony.Carriers.INFRASTRUCTURE_BITMASK, Telephony.Carriers.ESIM_BOOTSTRAP_PROVISIONING Telephony.Carriers.ESIM_BOOTSTRAP_PROVISIONING, Telephony.Carriers.EDITED_STATUS }; private int mPreferredApnSet = 0; Loading Loading @@ -180,7 +181,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, // default internet data profile for RAT CDMA, to test update preferred data profile new Object[]{ Loading Loading @@ -217,7 +219,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 2, // id Loading Loading @@ -253,7 +256,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 3, // id Loading Loading @@ -289,7 +293,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 4, // id Loading Loading @@ -326,7 +331,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, // This APN entry is created to test de-duping. new Object[]{ Loading Loading @@ -364,7 +370,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 6, // id Loading Loading @@ -401,7 +408,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 7, // id Loading Loading @@ -438,7 +446,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 8, // id Loading Loading @@ -475,7 +484,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 9, // id Loading Loading @@ -512,7 +522,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 2, // INFRASTRUCTURE_SATELLITE 0 // esim_bootstrap_provisioning 0, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 10, // id Loading Loading @@ -549,7 +560,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_CELLULAR 1 // esim_bootstrap_provisioning 1, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 11, // id Loading Loading @@ -586,7 +598,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 1, // INFRASTRUCTURE_SATELLITE 1 // esim_bootstrap_provisioning 1, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 12, // id Loading Loading @@ -623,7 +636,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 2, // INFRASTRUCTURE_SATELLITE 1 // esim_bootstrap_provisioning 1, // esim_bootstrap_provisioning 0 // UNEDITED }, new Object[]{ 13, // id Loading Loading @@ -660,7 +674,8 @@ public class DataProfileManagerTest extends TelephonyTest { -1, // skip_464xlat 0, // always_on 2, // INFRASTRUCTURE_SATELLITE 1 // esim_bootstrap_provisioning 1, // esim_bootstrap_provisioning 0 // UNEDITED } ); Loading