Loading src/java/com/android/internal/telephony/dataconnection/DcTracker.java +13 −0 Original line number Original line Diff line number Diff line Loading @@ -1825,6 +1825,19 @@ public class DcTracker extends Handler { ArrayList<ApnSetting> dunCandidates = new ArrayList<ApnSetting>(); ArrayList<ApnSetting> dunCandidates = new ArrayList<ApnSetting>(); ArrayList<ApnSetting> retDunSettings = new ArrayList<ApnSetting>(); ArrayList<ApnSetting> retDunSettings = new ArrayList<ApnSetting>(); if (mPhone.getServiceState().getRoaming()) { CarrierConfigManager configManager = (CarrierConfigManager) mPhone.getContext() .getSystemService(Context.CARRIER_CONFIG_SERVICE); if (configManager != null) { PersistableBundle b = configManager.getConfigForSubId(mPhone.getSubId()); if (b != null) { if (b.getBoolean(CarrierConfigManager.KEY_DISABLE_DUN_APN_WHILE_ROAMING)) { return new ArrayList<>(); } } } } // Places to look for tether APN in order: TETHER_DUN_APN setting (to be deprecated soon), // Places to look for tether APN in order: TETHER_DUN_APN setting (to be deprecated soon), // APN database // APN database String apnData = Settings.Global.getString(mResolver, Settings.Global.TETHER_DUN_APN); String apnData = Settings.Global.getString(mResolver, Settings.Global.TETHER_DUN_APN); Loading tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java +20 −0 Original line number Original line Diff line number Diff line Loading @@ -1380,6 +1380,26 @@ public class DcTrackerTest extends TelephonyTest { assertTrue(dunApnExpected.equals(dunApns.get(0))); 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, 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); // Expect empty DUN APN list assertEquals(0, mDct.fetchDunApns().size()); Settings.Global.putString(mContext.getContentResolver(), Settings.Global.TETHER_DUN_APN, null); } // Test oos // Test oos @Test @Test @SmallTest @SmallTest Loading Loading
src/java/com/android/internal/telephony/dataconnection/DcTracker.java +13 −0 Original line number Original line Diff line number Diff line Loading @@ -1825,6 +1825,19 @@ public class DcTracker extends Handler { ArrayList<ApnSetting> dunCandidates = new ArrayList<ApnSetting>(); ArrayList<ApnSetting> dunCandidates = new ArrayList<ApnSetting>(); ArrayList<ApnSetting> retDunSettings = new ArrayList<ApnSetting>(); ArrayList<ApnSetting> retDunSettings = new ArrayList<ApnSetting>(); if (mPhone.getServiceState().getRoaming()) { CarrierConfigManager configManager = (CarrierConfigManager) mPhone.getContext() .getSystemService(Context.CARRIER_CONFIG_SERVICE); if (configManager != null) { PersistableBundle b = configManager.getConfigForSubId(mPhone.getSubId()); if (b != null) { if (b.getBoolean(CarrierConfigManager.KEY_DISABLE_DUN_APN_WHILE_ROAMING)) { return new ArrayList<>(); } } } } // Places to look for tether APN in order: TETHER_DUN_APN setting (to be deprecated soon), // Places to look for tether APN in order: TETHER_DUN_APN setting (to be deprecated soon), // APN database // APN database String apnData = Settings.Global.getString(mResolver, Settings.Global.TETHER_DUN_APN); String apnData = Settings.Global.getString(mResolver, Settings.Global.TETHER_DUN_APN); Loading
tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java +20 −0 Original line number Original line Diff line number Diff line Loading @@ -1380,6 +1380,26 @@ public class DcTrackerTest extends TelephonyTest { assertTrue(dunApnExpected.equals(dunApns.get(0))); 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, 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); // Expect empty DUN APN list assertEquals(0, mDct.fetchDunApns().size()); Settings.Global.putString(mContext.getContentResolver(), Settings.Global.TETHER_DUN_APN, null); } // Test oos // Test oos @Test @Test @SmallTest @SmallTest Loading