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

Commit 7435dea2 authored by Thomas Nguyen's avatar Thomas Nguyen Committed by Android (Google) Code Review
Browse files

Merge "Fix for NPE in DatagramReceiver" into main

parents 78ae6f81 8252a01d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -344,6 +344,10 @@ public class DatagramDispatcher extends Handler {
                        SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING,
                        getPendingDatagramCount(), SatelliteManager.SATELLITE_RESULT_SUCCESS);
                sendRequestAsync(CMD_SEND_SATELLITE_DATAGRAM, datagramArgs, phone);
            } else {
                logd("sendSatelliteDatagram: mSendingDatagramInProgress="
                        + mSendingDatagramInProgress + ", isPollingInIdleState="
                        + mDatagramController.isPollingInIdleState());
            }
        }
    }
+4 −0
Original line number Diff line number Diff line
@@ -392,6 +392,10 @@ public class DatagramReceiver extends Handler {

                case EVENT_RECEIVED_ACK: {
                    DatagramRetryArgument argument = (DatagramRetryArgument) msg.obj;
                    if (!sInstance.mPendingAckCountHashMap.containsKey(argument.datagramId)) {
                        logd("The datagram " + argument.datagramId + " should have been deleted.");
                        return;
                    }
                    int pendingAckCount = sInstance.mPendingAckCountHashMap
                            .get(argument.datagramId);
                    pendingAckCount -= 1;
+2 −0
Original line number Diff line number Diff line
@@ -1735,6 +1735,7 @@ public class SatelliteController extends Handler {
        if (!mSatelliteModemInterface.isSatelliteServiceSupported()) {
            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
        }
        logd("registerForSatelliteDatagram: callback=" + callback);
        return mDatagramController.registerForSatelliteDatagram(subId, callback);
    }

@@ -1755,6 +1756,7 @@ public class SatelliteController extends Handler {
        if (!mSatelliteModemInterface.isSatelliteServiceSupported()) {
            return;
        }
        logd("unregisterForSatelliteDatagram: callback=" + callback);
        mDatagramController.unregisterForSatelliteDatagram(subId, callback);
    }

+2 −0
Original line number Diff line number Diff line
@@ -103,12 +103,14 @@ public class SatelliteModemInterface {
        @Override
        public void onSatelliteDatagramReceived(
                android.telephony.satellite.stub.SatelliteDatagram datagram, int pendingCount) {
            logd("onSatelliteDatagramReceived: pendingCount=" + pendingCount);
            mSatelliteDatagramsReceivedRegistrants.notifyResult(new Pair<>(
                    SatelliteServiceUtils.fromSatelliteDatagram(datagram), pendingCount));
        }

        @Override
        public void onPendingDatagrams() {
            logd("onPendingDatagrams");
            mPendingDatagramsRegistrants.notifyResult(null);
        }

+1 −1
Original line number Diff line number Diff line
@@ -428,7 +428,7 @@ public class DatagramDispatcherTest extends TelephonyTest {
        processAllMessages();
        // As modem is busy receiving datagrams, sending datagram did not proceed further.
        mInOrder.verify(mMockDatagramController).needsWaitingForSatelliteConnected();
        mInOrder.verify(mMockDatagramController).isPollingInIdleState();
        mInOrder.verify(mMockDatagramController, times(2)).isPollingInIdleState();
        verifyNoMoreInteractions(mMockDatagramController);
    }

Loading