Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33ed4025 authored by Sooraj Sasindran's avatar Sooraj Sasindran Committed by Hyosun Kim
Browse files

Do not report satellite network if carrier config is disabled

Bug: 327760810
Test: atest SatelliteControllerTest
Test : manual test - Using SatelliteEntitlementTestServerApp and SatelliteTestApp.
Change the carrier config value satellite_attach_supported_bool false

After receiving the entitlement satellite enabled and plmn list.
Verify SatelliteController#getSatellitePlmnsForCarrier return empty list.

Change-Id: Iec6fb5e172c67e50269666175598c1a547470fdb
parent 5b9e8e93
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2519,6 +2519,12 @@ public class SatelliteController extends Handler {
            logd("getSatellitePlmnsForCarrier: carrierEnabledSatelliteFlag is disabled");
            return new ArrayList<>();
        }

        if (!isSatelliteSupportedViaCarrier(subId)) {
            logd("Satellite for carrier is not supported.");
            return new ArrayList<>();
        }

        synchronized (mSupportedSatelliteServicesLock) {
            return mMergedPlmnListPerCarrier.get(subId, new ArrayList<>()).stream().toList();
        }
+20 −2
Original line number Diff line number Diff line
@@ -1736,6 +1736,8 @@ public class SatelliteControllerTest extends TelephonyTest {

        // Trigger carrier config changed with carrierEnabledSatelliteFlag enabled
        when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true);
        mCarrierConfigBundle.putBoolean(CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL,
                true);
        for (Pair<Executor, CarrierConfigManager.CarrierConfigChangeListener> pair
                : mCarrierConfigChangedListenerList) {
            pair.first.execute(() -> pair.second.onCarrierConfigChanged(
@@ -2723,8 +2725,8 @@ public class SatelliteControllerTest extends TelephonyTest {
        verify(mMockSatelliteModemInterface, times(1)).setSatellitePlmn(anyInt(),
                eq(plmnListPerCarrier), eq(allSatellitePlmnList), any(Message.class));

        // If the PlmnListPerCarrier and the overlay config plmn list are exist verify passing
        // the modem.
        // If the PlmnListPerCarrier and the overlay config plmn list are exist but
        // KEY_SATELLITE_ATTACH_SUPPORTED_BOOL is false, verify passing to the modem.
        entitlementPlmnList = Arrays.stream(new String[]{"00101", "00102", "00103"}).toList();
        overlayConfigPlmnList =
                Arrays.stream(new String[]{"00101", "00102", "00104"}).toList();
@@ -2734,6 +2736,22 @@ public class SatelliteControllerTest extends TelephonyTest {
        mSatelliteControllerUT.onSatelliteEntitlementStatusUpdated(SUB_ID, true,
                entitlementPlmnList, mIIntegerConsumer);

        plmnListPerCarrier = mSatelliteControllerUT.getSatellitePlmnsForCarrier(SUB_ID);
        assertEquals(new ArrayList<>(), plmnListPerCarrier);
        allSatellitePlmnList = SatelliteServiceUtils.mergeStrLists(
                entitlementPlmnList, overlayConfigPlmnList);
        verify(mMockSatelliteModemInterface, times(1)).setSatellitePlmn(anyInt(),
                eq(entitlementPlmnList), eq(allSatellitePlmnList), any(Message.class));

        // If the PlmnListPerCarrier and the overlay config plmn list are exist and
        // KEY_SATELLITE_ATTACH_SUPPORTED_BOOL is true verify passing the modem.
        reset(mMockSatelliteModemInterface);
        mCarrierConfigBundle.putBoolean(CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL,
                true);

        mSatelliteControllerUT.onSatelliteEntitlementStatusUpdated(SUB_ID, true,
                entitlementPlmnList, mIIntegerConsumer);

        plmnListPerCarrier = mSatelliteControllerUT.getSatellitePlmnsForCarrier(SUB_ID);
        allSatellitePlmnList = SatelliteServiceUtils.mergeStrLists(
                plmnListPerCarrier, overlayConfigPlmnList);