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

Commit dcbc7680 authored by Thomas Nguyen's avatar Thomas Nguyen
Browse files

Skip checking satellite support for registerForSatelliteProvisionStateChanged

Notify satellite supported state to clients after querying the state from modem

Bug: 378519836
Test: SatelliteControllerTest
Manual system test with Pixel Skylo
Flag: EXEMPT bugfix

Change-Id: Iecc07aecdcfd35479cce7e76e0c9a1bd8e878aa4
parent 45ba491a
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -2754,11 +2754,6 @@ public class SatelliteController extends Handler {
     */
    @SatelliteManager.SatelliteResult public int registerForSatelliteProvisionStateChanged(
            @NonNull ISatelliteProvisionStateCallback callback) {
        int error = evaluateOemSatelliteRequestAllowed(false);
        if (error != SATELLITE_RESULT_SUCCESS) {
            return error;
        }

        mSatelliteProvisionStateChangedListeners.put(callback.asBinder(), callback);

        boolean isProvisioned = Boolean.TRUE.equals(isDeviceProvisioned());
@@ -4451,6 +4446,7 @@ public class SatelliteController extends Handler {
        }
        registerForSatelliteSupportedStateChanged();
        selectBindingSatelliteSubscription(false);
        notifySatelliteSupportedStateChanged(supported);
    }

    private void updateSatelliteEnabledState(boolean enabled, String caller) {
@@ -4778,7 +4774,9 @@ public class SatelliteController extends Handler {
            }
            mIsSatelliteSupported = supported;
        }
    }

    private void notifySatelliteSupportedStateChanged(boolean supported) {
        List<ISatelliteSupportedStateCallback> deadCallersList = new ArrayList<>();
        mSatelliteSupportedStateChangedListeners.values().forEach(listener -> {
            try {
+2 −6
Original line number Diff line number Diff line
@@ -1723,12 +1723,7 @@ public class SatelliteControllerTest extends TelephonyTest {
                    }
                };
        int errorCode = mSatelliteControllerUT.registerForSatelliteProvisionStateChanged(callback);
        assertEquals(SATELLITE_RESULT_INVALID_TELEPHONY_STATE, errorCode);

        setUpResponseForRequestIsSatelliteSupported(false, SATELLITE_RESULT_SUCCESS);
        verifySatelliteSupported(false, SATELLITE_RESULT_SUCCESS);
        errorCode = mSatelliteControllerUT.registerForSatelliteProvisionStateChanged(callback);
        assertEquals(SATELLITE_RESULT_NOT_SUPPORTED, errorCode);
        assertEquals(SATELLITE_RESULT_SUCCESS, errorCode);

        resetSatelliteControllerUT();
        setUpResponseForRequestIsSatelliteSupported(true, SATELLITE_RESULT_SUCCESS);
@@ -1760,6 +1755,7 @@ public class SatelliteControllerTest extends TelephonyTest {
                semaphore, 1, "testRegisterForSatelliteProvisionStateChanged"));

        mSatelliteControllerUT.unregisterForSatelliteProvisionStateChanged(callback);
        semaphore.drainPermits();
        cancelRemote = mSatelliteControllerUT.provisionSatelliteService(
                TEST_SATELLITE_TOKEN,
                testProvisionData, mIIntegerConsumer);