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

Commit ba8f3583 authored by Aishwarya Mallampati's avatar Aishwarya Mallampati Committed by Android (Google) Code Review
Browse files

Merge "Send request immediately to handler" into main

parents edab5969 2b5b96a4
Loading
Loading
Loading
Loading
+52 −0
Original line number Original line Diff line number Diff line
@@ -344,6 +344,8 @@ public class SatelliteController extends Handler {
    private static final int REQUEST_NTN_SIGNAL_STRENGTH = 83;
    private static final int REQUEST_NTN_SIGNAL_STRENGTH = 83;
    private static final int REQUEST_SATELLITE_SUBSCRIBER_PROVISION_STATUS = 84;
    private static final int REQUEST_SATELLITE_SUBSCRIBER_PROVISION_STATUS = 84;
    private static final int REQUEST_SET_NTN_SMS_SUPPORTED_BY_MESSAGES_APP = 85;
    private static final int REQUEST_SET_NTN_SMS_SUPPORTED_BY_MESSAGES_APP = 85;
    private static final int REQUEST_PROVISION_SATELLITE = 86;
    private static final int REQUEST_DEPROVISION_SATELLITE = 87;


    @NonNull private static SatelliteController sInstance;
    @NonNull private static SatelliteController sInstance;
    @NonNull private final Context mContext;
    @NonNull private final Context mContext;
@@ -2597,6 +2599,32 @@ public class SatelliteController extends Handler {
                break;
                break;
            }
            }


            case REQUEST_PROVISION_SATELLITE: {
                plogd("REQUEST_PROVISION_SATELLITE");
                SomeArgs args = (SomeArgs) msg.obj;
                List<SatelliteSubscriberInfo> list = (List<SatelliteSubscriberInfo>) args.arg1;
                ResultReceiver result = (ResultReceiver) args.arg2;
                try {
                    handleRequestProvisionSatellite(list, result);
                } finally {
                    args.recycle();
                }
                break;
            }

            case REQUEST_DEPROVISION_SATELLITE: {
                plogd("REQUEST_DEPROVISION_SATELLITE");
                SomeArgs args = (SomeArgs) msg.obj;
                List<SatelliteSubscriberInfo> list = (List<SatelliteSubscriberInfo>) args.arg1;
                ResultReceiver result = (ResultReceiver) args.arg2;
                try {
                    handleRequestDeprovisionSatellite(list, result);
                } finally {
                    args.recycle();
                }
                break;
            }

            default:
            default:
                Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " +
                Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " +
                        msg.what);
                        msg.what);
@@ -8557,6 +8585,18 @@ public class SatelliteController extends Handler {
     */
     */
    public void provisionSatellite(@NonNull List<SatelliteSubscriberInfo> list,
    public void provisionSatellite(@NonNull List<SatelliteSubscriberInfo> list,
            @NonNull ResultReceiver result) {
            @NonNull ResultReceiver result) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = list;
            args.arg2 = result;
            sendMessage(obtainMessage(REQUEST_PROVISION_SATELLITE, args));
        }

        handleRequestProvisionSatellite(list, result);
    }

    private void handleRequestProvisionSatellite(@NonNull List<SatelliteSubscriberInfo> list,
            @NonNull ResultReceiver result) {
        if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
        if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
            result.send(SATELLITE_RESULT_REQUEST_NOT_SUPPORTED, null);
            result.send(SATELLITE_RESULT_REQUEST_NOT_SUPPORTED, null);
            logd("provisionSatellite: carrierRoamingNbIotNtn not support");
            logd("provisionSatellite: carrierRoamingNbIotNtn not support");
@@ -8641,6 +8681,18 @@ public class SatelliteController extends Handler {
     */
     */
    public void deprovisionSatellite(@NonNull List<SatelliteSubscriberInfo> list,
    public void deprovisionSatellite(@NonNull List<SatelliteSubscriberInfo> list,
            @NonNull ResultReceiver result) {
            @NonNull ResultReceiver result) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = list;
            args.arg2 = result;
            sendMessage(obtainMessage(REQUEST_DEPROVISION_SATELLITE, args));
        }

        handleRequestDeprovisionSatellite(list, result);
    }

    private void handleRequestDeprovisionSatellite(@NonNull List<SatelliteSubscriberInfo> list,
            @NonNull ResultReceiver result) {
        if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
        if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
            result.send(SATELLITE_RESULT_REQUEST_NOT_SUPPORTED, null);
            result.send(SATELLITE_RESULT_REQUEST_NOT_SUPPORTED, null);
            logd("deprovisionSatellite: carrierRoamingNbIotNtn not support");
            logd("deprovisionSatellite: carrierRoamingNbIotNtn not support");
+3 −3
Original line number Original line Diff line number Diff line
@@ -4470,7 +4470,7 @@ public class SatelliteControllerTest extends TelephonyTest {
        inputList.add(list.get(0));
        inputList.add(list.get(0));
        verifyProvisionSatellite(inputList);
        verifyProvisionSatellite(inputList);


        verify(mMockSatelliteModemInterface, times(1)).updateSatelliteSubscription(anyString(),
        verify(mMockSatelliteModemInterface, times(2)).updateSatelliteSubscription(anyString(),
                any());
                any());
        assertTrue(waitForForEvents(
        assertTrue(waitForForEvents(
                semaphore, 1, "testRegisterForSatelliteSubscriptionProvisionStateChanged"));
                semaphore, 1, "testRegisterForSatelliteSubscriptionProvisionStateChanged"));
@@ -4841,8 +4841,8 @@ public class SatelliteControllerTest extends TelephonyTest {


        List<SatelliteSubscriberInfo> inputList = getExpectedSatelliteSubscriberInfoList();
        List<SatelliteSubscriberInfo> inputList = getExpectedSatelliteSubscriberInfoList();
        verifyProvisionSatellite(inputList);
        verifyProvisionSatellite(inputList);
        verify(mMockSubscriptionManagerService).setIsSatelliteProvisionedForNonIpDatagram(
        verify(mMockSubscriptionManagerService, times(2))
                eq(SUB_ID), eq(true));
                .setIsSatelliteProvisionedForNonIpDatagram(eq(SUB_ID), eq(true));
    }
    }


    @Test
    @Test