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

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

Merge "sendSatelliteDatagram()" into main

parents eec2daad f9970039
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -334,6 +334,7 @@ public class SatelliteController extends Handler {
    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;
    private static final int REQUEST_SEND_DATAGRAM = 76;

    @NonNull private static SatelliteController sInstance;
    @NonNull private final Context mContext;
@@ -2459,6 +2460,22 @@ public class SatelliteController extends Handler {
                break;
            }

            case REQUEST_SEND_DATAGRAM: {
                plogd("REQUEST_SEND_DATAGRAM");
                SomeArgs args = (SomeArgs) msg.obj;
                int datagramType = (int) args.arg1;
                SatelliteDatagram datagram = (SatelliteDatagram) args.arg2;
                boolean needFullScreenPointingUI = (boolean) args.arg3;
                IIntegerConsumer callback = (IIntegerConsumer) args.arg4;
                try {
                    handleRequestSendDatagram(
                            datagramType, datagram, needFullScreenPointingUI, callback);
                } finally {
                    args.recycle();
                }
                break;
            }

            default:
                Log.w(TAG, "SatelliteControllerHandler: unexpected message code: " +
                        msg.what);
@@ -3466,6 +3483,22 @@ public class SatelliteController extends Handler {
    public void sendDatagram(@SatelliteManager.DatagramType int datagramType,
            SatelliteDatagram datagram, boolean needFullScreenPointingUI,
            @NonNull IIntegerConsumer callback) {
        if (mFeatureFlags.satelliteImproveMultiThreadDesign()) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = datagramType;
            args.arg2 = datagram;
            args.arg3 = needFullScreenPointingUI;
            args.arg4 = callback;
            sendMessage(obtainMessage(REQUEST_SEND_DATAGRAM, args));
            return;
        }

        handleRequestSendDatagram(datagramType, datagram, needFullScreenPointingUI, callback);
    }

    private void handleRequestSendDatagram(@SatelliteManager.DatagramType int datagramType,
            SatelliteDatagram datagram, boolean needFullScreenPointingUI,
            @NonNull IIntegerConsumer callback) {
        plogd("sendSatelliteDatagram: datagramType: " + datagramType
                + " needFullScreenPointingUI: " + needFullScreenPointingUI);