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

Commit 3a7b59cf authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 12361654 from 28301318 to 24Q4-release

Change-Id: I124c627ab79e28870dfebd08e6781a4ad919952f
parents cb961d80 28301318
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -252,6 +252,7 @@ public class DatagramController {
            @NonNull Consumer<Integer> callback) {
        mDatagramDispatcher.sendSatelliteDatagram(subId, datagramType, datagram,
                needFullScreenPointingUI, callback);
        mPointingAppController.onSendDatagramRequested(subId, datagramType);
    }

    /**
+37 −0
Original line number Diff line number Diff line
@@ -189,6 +189,7 @@ public class PointingAppController {
        public static final int EVENT_SEND_DATAGRAM_STATE_CHANGED = 2;
        public static final int EVENT_RECEIVE_DATAGRAM_STATE_CHANGED = 3;
        public static final int EVENT_DATAGRAM_TRANSFER_STATE_CHANGED = 4;
        public static final int EVENT_SEND_DATAGRAM_REQUESTED = 5;

        private final ConcurrentHashMap<IBinder, ISatelliteTransmissionUpdateCallback> mListeners;

@@ -277,6 +278,24 @@ public class PointingAppController {
                    break;
                }

                case EVENT_SEND_DATAGRAM_REQUESTED: {
                    logd("Received EVENT_SEND_DATAGRAM_REQUESTED");
                    int datagramType = (int) msg.obj;
                    List<IBinder> toBeRemoved = new ArrayList<>();
                    mListeners.values().forEach(listener -> {
                        try {
                            listener.onSendDatagramRequested(datagramType);
                        } catch (RemoteException e) {
                            logd("EVENT_SEND_DATAGRAM_REQUESTED RemoteException: " + e);
                            toBeRemoved.add(listener.asBinder());
                        }
                    });
                    toBeRemoved.forEach(listener -> {
                        mListeners.remove(listener);
                    });
                    break;
                }

                default:
                    loge("SatelliteTransmissionUpdateHandler unknown event: " + msg.what);
            }
@@ -439,6 +458,24 @@ public class PointingAppController {
        }
    }

    /**
     * This API is used to notify PointingAppController that a send datagram has just been
     * requested.
     */
    public void onSendDatagramRequested(
            int subId, @SatelliteManager.DatagramType int datagramType) {
        SatelliteTransmissionUpdateHandler handler =
                mSatelliteTransmissionUpdateHandlers.get(subId);
        if (handler != null) {
            Message msg = handler.obtainMessage(
                    SatelliteTransmissionUpdateHandler.EVENT_SEND_DATAGRAM_REQUESTED,
                    datagramType);
            msg.sendToTarget();
        } else {
            ploge("SatelliteTransmissionUpdateHandler not found for subId: " + subId);
        }
    }

    public void updateReceiveDatagramTransferState(int subId,
            @SatelliteManager.SatelliteDatagramTransferState int datagramTransferState,
            int receivePendingCount, int errorCode) {
+5 −0
Original line number Diff line number Diff line
@@ -196,6 +196,11 @@ public class PointingAppControllerTest extends TelephonyTest {
            }
        }

        @Override
        public void onSendDatagramRequested(int datagramType) {
            logd("onSendDatagramRequested: datagramType=" + datagramType);
        }

        public int getDatagramType() {
            return mDatagramType;
        }