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

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

Merge "requestIsSatelliteProvisioned(), pollPendingDatagrams()" into main

parents ff466c0d 7325e6ed
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
@@ -332,6 +332,8 @@ public class SatelliteController extends Handler {
    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;
    private static final int REQUEST_IS_SATELLITE_PROVISIONED = 74;
    private static final int REQUEST_POLL_PENDING_DATAGRAMS = 75;

    @NonNull private static SatelliteController sInstance;
    @NonNull private final Context mContext;
@@ -2433,6 +2435,30 @@ public class SatelliteController extends Handler {
                break;
            }

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

            case REQUEST_POLL_PENDING_DATAGRAMS: {
                plogd("REQUEST_POLL_PENDING_DATAGRAMS");
                SomeArgs args = (SomeArgs) msg.obj;
                IIntegerConsumer callback = (IIntegerConsumer) args.arg1;
                try {
                    handleRequestPollPendingDatagrams(callback);
                } finally {
                    args.recycle();
                }
                break;
            }

            default:
                Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " +
                        msg.what);
@@ -3276,6 +3302,18 @@ public class SatelliteController extends Handler {
     *               request failed.
     */
    public void requestIsSatelliteProvisioned(@NonNull ResultReceiver result) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = result;
            sendMessage(obtainMessage(REQUEST_IS_SATELLITE_PROVISIONED, args));
            return;
        }

        handleRequestIsSatelliteProvisioned(result);
    }

    private void handleRequestIsSatelliteProvisioned(@NonNull ResultReceiver result) {
        plogd("handleRequestIsSatelliteProvisioned");
        int error = evaluateOemSatelliteRequestAllowed(false);
        if (error != SATELLITE_RESULT_SUCCESS) {
            result.send(error, null);
@@ -3387,6 +3425,18 @@ public class SatelliteController extends Handler {
     * @param callback The callback to get {@link SatelliteManager.SatelliteResult} of the request.
     */
    public void pollPendingDatagrams(@NonNull IIntegerConsumer callback) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = callback;
            sendMessage(obtainMessage(REQUEST_POLL_PENDING_DATAGRAMS, args));
            return;
        }

        handleRequestPollPendingDatagrams(callback);
    }

    private void handleRequestPollPendingDatagrams(@NonNull IIntegerConsumer callback) {
        plogd("handleRequestPollPendingDatagrams");
        Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
        int error = evaluateOemSatelliteRequestAllowed(true);
        if (error != SATELLITE_RESULT_SUCCESS) {