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

Commit 92761730 authored by Aishwarya Mallampati's avatar Aishwarya Mallampati
Browse files

Send request immediately to handler.

The following methods are updated in this cl:
- requestTimeForNextSatelliteVisibility
- requestSatelliteDisplayName
- requestSelectedNbIotSatelliteSubscriptionId

Bug: 409584433
Test: atest
Flag: com.android.internal.telephony.flags.satellite_improve_multi_thread_design
Change-Id: Icc83e41ef700e78a2b89e9d37f2b9800ebd564f6
parent f9970039
Loading
Loading
Loading
Loading
+75 −0
Original line number Diff line number Diff line
@@ -335,6 +335,9 @@ public class SatelliteController extends Handler {
    private static final int REQUEST_IS_SATELLITE_PROVISIONED = 74;
    private static final int REQUEST_POLL_PENDING_DATAGRAMS = 75;
    private static final int REQUEST_SEND_DATAGRAM = 76;
    private static final int REQUEST_TIME_FOR_NEXT_SATELLITE_VISIBILITY = 77;
    private static final int REQUEST_SATELLITE_DISPLAY_NAME = 78;
    private static final int REQUEST_SELECTED_NB_IOT_SATELLITE_SUBSCRIPTION_ID = 79;

    @NonNull private static SatelliteController sInstance;
    @NonNull private final Context mContext;
@@ -2475,6 +2478,42 @@ public class SatelliteController extends Handler {
                break;
            }

            case REQUEST_TIME_FOR_NEXT_SATELLITE_VISIBILITY: {
                plogd("REQUEST_TIME_FOR_NEXT_SATELLITE_VISIBILITY");
                SomeArgs args = (SomeArgs) msg.obj;
                ResultReceiver result = (ResultReceiver) args.arg1;
                try {
                    handleRequestTimeForNextSatelliteVisibility(result);
                } finally {
                    args.recycle();
                }
                break;
            }

            case REQUEST_SATELLITE_DISPLAY_NAME: {
                plogd("REQUEST_SATELLITE_DISPLAY_NAME");
                SomeArgs args = (SomeArgs) msg.obj;
                ResultReceiver result = (ResultReceiver) args.arg1;
                try {
                    handleRequestSatelliteDisplayName(result);
                } finally {
                    args.recycle();
                }
                break;
            }

            case REQUEST_SELECTED_NB_IOT_SATELLITE_SUBSCRIPTION_ID: {
                plogd("REQUEST_SELECTED_NB_IOT_SATELLITE_SUBSCRIPTION_ID");
                SomeArgs args = (SomeArgs) msg.obj;
                ResultReceiver result = (ResultReceiver) args.arg1;
                try {
                    handleRequestSelectedNbIotSatelliteSubscriptionId(result);
                } finally {
                    args.recycle();
                }
                break;
            }

            default:
                Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " +
                        msg.what);
@@ -3528,6 +3567,18 @@ public class SatelliteController extends Handler {
     *               be visible if the request is successful or an error code if the request failed.
     */
    public void requestTimeForNextSatelliteVisibility(@NonNull ResultReceiver result) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = result;
            sendMessage(obtainMessage(REQUEST_TIME_FOR_NEXT_SATELLITE_VISIBILITY, args));
            return;
        }

        handleRequestTimeForNextSatelliteVisibility(result);
    }

    private void handleRequestTimeForNextSatelliteVisibility(@NonNull ResultReceiver result) {
        plogd("handleRequestTimeForNextSatelliteVisibility");
        int error = evaluateOemSatelliteRequestAllowed(true);
        if (error != SATELLITE_RESULT_SUCCESS) {
            result.send(error, null);
@@ -8023,6 +8074,18 @@ public class SatelliteController extends Handler {
     *               or an error code if the request failed.
     */
    public void requestSatelliteDisplayName(@NonNull ResultReceiver result) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = result;
            sendMessage(obtainMessage(REQUEST_SATELLITE_DISPLAY_NAME, args));
            return;
        }

        handleRequestSatelliteDisplayName(result);
    }

    private void handleRequestSatelliteDisplayName(@NonNull ResultReceiver result) {
        plogd("handleRequestSatelliteDisplayName");
        if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
            plogd("requestSatelliteDisplayName: carrierRoamingNbIotNtn flag is disabled");
            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
@@ -8126,6 +8189,18 @@ public class SatelliteController extends Handler {
     *               id if the request is successful or an error code if the request failed.
     */
    public void requestSelectedNbIotSatelliteSubscriptionId(@NonNull ResultReceiver result) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = result;
            sendMessage(obtainMessage(REQUEST_SELECTED_NB_IOT_SATELLITE_SUBSCRIPTION_ID, args));
            return;
        }

        handleRequestSelectedNbIotSatelliteSubscriptionId(result);
    }

    private void handleRequestSelectedNbIotSatelliteSubscriptionId(@NonNull ResultReceiver result) {
        plogd("handleRequestSelectedNbIotSatelliteSubscriptionId");
        if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
            result.send(SATELLITE_RESULT_REQUEST_NOT_SUPPORTED, null);
            logd("requestSelectedNbIotSatelliteSubscriptionId: carrierRoamingNbIotNtn is disabled");