Loading src/java/com/android/internal/telephony/satellite/SatelliteController.java +26 −7 Original line number Diff line number Diff line Loading @@ -9195,23 +9195,42 @@ public class SatelliteController extends Handler { * @return Supported modes {@link CarrierConfigManager.SATELLITE_DATA_SUPPORT_MODE} */ public int getSatelliteDataServicePolicyForPlmn(int subId, String plmn) { if (plmn != null && isValidSubscriptionId(subId)) { plogd("getSatelliteDataServicePolicyForPlmn: subId=" + subId + " plmn=" + plmn); if (isValidSubscriptionId(subId)) { Map<String, Integer> dataServicePolicy; synchronized (mSupportedSatelliteServicesLock) { Map<String, Integer> dataServicePolicy = mEntitlementDataServicePolicyMapPerCarrier.get( subId); logd("data policy available for sub id:" + dataServicePolicy); if (dataServicePolicy != null && dataServicePolicy.containsKey(plmn) && !plmn.isEmpty()) { dataServicePolicy = mEntitlementDataServicePolicyMapPerCarrier.get(subId); } plogd("getSatelliteDataServicePolicyForPlmn: dataServicePolicy=" + dataServicePolicy); if (dataServicePolicy != null) { if (!TextUtils.isEmpty(plmn) && dataServicePolicy.containsKey(plmn)) { plogd("getSatelliteDataServicePolicyForPlmn: " + "return policy using dataServicePolicy map"); return dataServicePolicy.get(plmn); } else if (TextUtils.isEmpty(plmn)) { int preferredPolicy = CarrierConfigManager.SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED; for (String plmnKey : dataServicePolicy.keySet()) { int policy = dataServicePolicy.get(plmnKey); // higher value has higher preference if (policy > preferredPolicy) { preferredPolicy = policy; } } plogd("getSatelliteDataServicePolicyForPlmn: " + "return preferredPolicy=" + preferredPolicy); return preferredPolicy; } } if (isSatelliteDataServicesAllowed(subId, plmn)) { plogd("getSatelliteDataServicePolicyForPlmn: return data support mode from config"); return getCarrierSatelliteDataSupportedModeFromConfig(subId); } } plogd("getSatelliteDataServicePolicyForPlmn: return data support only restricted"); return CarrierConfigManager.SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED; } Loading tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -6593,6 +6593,13 @@ public class SatelliteControllerTest extends TelephonyTest { .getSatelliteDataServicePolicyForPlmn(SUB_ID, "00102"); assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, ""); assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, null); assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn); } @Test Loading Loading @@ -6626,6 +6633,14 @@ public class SatelliteControllerTest extends TelephonyTest { .getSatelliteDataServicePolicyForPlmn(SUB_ID, "00101"); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, ""); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, null); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); setConfigData(new ArrayList<>()); PersistableBundle carrierSupportedSatelliteServicesPerProvider = new PersistableBundle(); Loading @@ -6642,6 +6657,13 @@ public class SatelliteControllerTest extends TelephonyTest { .getSatelliteDataServicePolicyForPlmn(SUB_ID, "00101"); assertEquals(SATELLITE_DATA_SUPPORT_BANDWIDTH_CONSTRAINED, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, ""); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, null); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); } @Test Loading Loading
src/java/com/android/internal/telephony/satellite/SatelliteController.java +26 −7 Original line number Diff line number Diff line Loading @@ -9195,23 +9195,42 @@ public class SatelliteController extends Handler { * @return Supported modes {@link CarrierConfigManager.SATELLITE_DATA_SUPPORT_MODE} */ public int getSatelliteDataServicePolicyForPlmn(int subId, String plmn) { if (plmn != null && isValidSubscriptionId(subId)) { plogd("getSatelliteDataServicePolicyForPlmn: subId=" + subId + " plmn=" + plmn); if (isValidSubscriptionId(subId)) { Map<String, Integer> dataServicePolicy; synchronized (mSupportedSatelliteServicesLock) { Map<String, Integer> dataServicePolicy = mEntitlementDataServicePolicyMapPerCarrier.get( subId); logd("data policy available for sub id:" + dataServicePolicy); if (dataServicePolicy != null && dataServicePolicy.containsKey(plmn) && !plmn.isEmpty()) { dataServicePolicy = mEntitlementDataServicePolicyMapPerCarrier.get(subId); } plogd("getSatelliteDataServicePolicyForPlmn: dataServicePolicy=" + dataServicePolicy); if (dataServicePolicy != null) { if (!TextUtils.isEmpty(plmn) && dataServicePolicy.containsKey(plmn)) { plogd("getSatelliteDataServicePolicyForPlmn: " + "return policy using dataServicePolicy map"); return dataServicePolicy.get(plmn); } else if (TextUtils.isEmpty(plmn)) { int preferredPolicy = CarrierConfigManager.SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED; for (String plmnKey : dataServicePolicy.keySet()) { int policy = dataServicePolicy.get(plmnKey); // higher value has higher preference if (policy > preferredPolicy) { preferredPolicy = policy; } } plogd("getSatelliteDataServicePolicyForPlmn: " + "return preferredPolicy=" + preferredPolicy); return preferredPolicy; } } if (isSatelliteDataServicesAllowed(subId, plmn)) { plogd("getSatelliteDataServicePolicyForPlmn: return data support mode from config"); return getCarrierSatelliteDataSupportedModeFromConfig(subId); } } plogd("getSatelliteDataServicePolicyForPlmn: return data support only restricted"); return CarrierConfigManager.SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED; } Loading
tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -6593,6 +6593,13 @@ public class SatelliteControllerTest extends TelephonyTest { .getSatelliteDataServicePolicyForPlmn(SUB_ID, "00102"); assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, ""); assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, null); assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn); } @Test Loading Loading @@ -6626,6 +6633,14 @@ public class SatelliteControllerTest extends TelephonyTest { .getSatelliteDataServicePolicyForPlmn(SUB_ID, "00101"); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, ""); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, null); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); setConfigData(new ArrayList<>()); PersistableBundle carrierSupportedSatelliteServicesPerProvider = new PersistableBundle(); Loading @@ -6642,6 +6657,13 @@ public class SatelliteControllerTest extends TelephonyTest { .getSatelliteDataServicePolicyForPlmn(SUB_ID, "00101"); assertEquals(SATELLITE_DATA_SUPPORT_BANDWIDTH_CONSTRAINED, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, ""); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); dataSupportModeForPlmn = mSatelliteControllerUT .getSatelliteDataServicePolicyForPlmn(SUB_ID, null); assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn); } @Test Loading