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

Commit e1d769a0 authored by Sooraj Sasindran's avatar Sooraj Sasindran
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
(cherry picked from commit 33ed4025)
parent 61ea56e6
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);