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

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

Merge "update start and stop transmission updates methods" into main

parents d5f26ff6 9fbff535
Loading
Loading
Loading
Loading
+60 −0
Original line number Diff line number Diff line
@@ -330,6 +330,8 @@ public class SatelliteController extends Handler {
    private static final int REQUEST_IS_EMERGENCY_MODE_ENABLED = 69;
    private static final int REQUEST_IS_SATELLITE_SUPPORTED = 70;
    private static final int REQUEST_SATELLITE_CAPABILITIES = 71;
    private static final int REQUEST_START_SATELLITE_TRANSMISSION_UPDATES = 72;
    private static final int REQUEST_STOP_SATELLITE_TRANSMISSION_UPDATES = 73;

    @NonNull private static SatelliteController sInstance;
    @NonNull private final Context mContext;
@@ -2402,6 +2404,34 @@ public class SatelliteController extends Handler {
                break;
            }

            case REQUEST_START_SATELLITE_TRANSMISSION_UPDATES: {
                plogd("REQUEST_START_SATELLITE_TRANSMISSION_UPDATES");
                SomeArgs args = (SomeArgs) msg.obj;
                IIntegerConsumer errorCallback = (IIntegerConsumer) args.arg1;
                ISatelliteTransmissionUpdateCallback callback =
                        (ISatelliteTransmissionUpdateCallback) args.arg2;
                try {
                    handleRequestStartSatelliteTransmissionUpdates(errorCallback, callback);
                } finally {
                    args.recycle();
                }
                break;
            }

            case REQUEST_STOP_SATELLITE_TRANSMISSION_UPDATES: {
                plogd("REQUEST_STOP_SATELLITE_TRANSMISSION_UPDATES");
                SomeArgs args = (SomeArgs) msg.obj;
                IIntegerConsumer errorCallback = (IIntegerConsumer) args.arg1;
                ISatelliteTransmissionUpdateCallback callback =
                        (ISatelliteTransmissionUpdateCallback) args.arg2;
                try {
                    handleRequestStopSatelliteTransmissionUpdates(errorCallback, callback);
                } finally {
                    args.recycle();
                }
                break;
            }

            default:
                Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " +
                        msg.what);
@@ -3018,6 +3048,21 @@ public class SatelliteController extends Handler {
    public void startSatelliteTransmissionUpdates(
            @NonNull IIntegerConsumer errorCallback,
            @NonNull ISatelliteTransmissionUpdateCallback callback) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = errorCallback;
            args.arg2 = callback;
            sendMessage(obtainMessage(REQUEST_START_SATELLITE_TRANSMISSION_UPDATES, args));
            return;
        }

        handleRequestStartSatelliteTransmissionUpdates(errorCallback, callback);
    }

    private void handleRequestStartSatelliteTransmissionUpdates(
            @NonNull IIntegerConsumer errorCallback,
            @NonNull ISatelliteTransmissionUpdateCallback callback) {
        plogd("handleRequestStartSatelliteTransmissionUpdates");
        Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(errorCallback::accept);
        int error = evaluateOemSatelliteRequestAllowed(true);
        if (error != SATELLITE_RESULT_SUCCESS) {
@@ -3041,6 +3086,21 @@ public class SatelliteController extends Handler {
     */
    public void stopSatelliteTransmissionUpdates(@NonNull IIntegerConsumer errorCallback,
            @NonNull ISatelliteTransmissionUpdateCallback callback) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = errorCallback;
            args.arg2 = callback;
            sendMessage(obtainMessage(REQUEST_STOP_SATELLITE_TRANSMISSION_UPDATES, args));
            return;
        }

        handleRequestStopSatelliteTransmissionUpdates(errorCallback, callback);
    }

    private void handleRequestStopSatelliteTransmissionUpdates(
            @NonNull IIntegerConsumer errorCallback,
            @NonNull ISatelliteTransmissionUpdateCallback callback) {
        plogd("handleRequestStopSatelliteTransmissionUpdates");
        Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(errorCallback::accept);
        mPointingAppController.unregisterForSatelliteTransmissionUpdates(
                getSelectedSatelliteSubId(), result, callback);
+3 −0
Original line number Diff line number Diff line
@@ -1539,6 +1539,7 @@ public class SatelliteControllerTest extends TelephonyTest {
        setUpResponseForStartSatelliteTransmissionUpdates(SATELLITE_RESULT_SUCCESS);
        mSatelliteControllerUT.startSatelliteTransmissionUpdates(mIIntegerConsumer,
                mStartTransmissionUpdateCallback);
        processAllMessages();
        verify(mMockPointingAppController).registerForSatelliteTransmissionUpdates(anyInt(),
                eq(mStartTransmissionUpdateCallback));
        processAllMessages();
@@ -1570,6 +1571,7 @@ public class SatelliteControllerTest extends TelephonyTest {
        setUpResponseForStopSatelliteTransmissionUpdates(SATELLITE_RESULT_SUCCESS);
        mSatelliteControllerUT.stopSatelliteTransmissionUpdates(mIIntegerConsumer,
                mStopTransmissionUpdateCallback);
        processAllMessages();
        verify(mMockPointingAppController).unregisterForSatelliteTransmissionUpdates(anyInt(),
                any(), eq(mStopTransmissionUpdateCallback));
        processAllMessages();
@@ -1583,6 +1585,7 @@ public class SatelliteControllerTest extends TelephonyTest {
        setUpResponseForStopSatelliteTransmissionUpdates(SATELLITE_RESULT_INVALID_TELEPHONY_STATE);
        mSatelliteControllerUT.stopSatelliteTransmissionUpdates(mIIntegerConsumer,
                mStopTransmissionUpdateCallback);
        processAllMessages();
        verify(mMockPointingAppController, times(2)).unregisterForSatelliteTransmissionUpdates(
                anyInt(), any(), eq(mStopTransmissionUpdateCallback));
        processAllMessages();