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

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

Merge "Modify variables used in updateReceiveStatus()" into main

parents d4b5518a cee3e56f
Loading
Loading
Loading
Loading
+39 −46
Original line number Diff line number Diff line
@@ -92,15 +92,13 @@ public class DatagramController {
    private AtomicInteger mSendErrorCode =
            new AtomicInteger(SatelliteManager.SATELLITE_RESULT_SUCCESS);
    /** Variables used to update onReceiveDatagramStateChanged(). */
    @GuardedBy("mLock")
    private int mReceiveSubId;
    @GuardedBy("mLock")
    private @SatelliteManager.SatelliteDatagramTransferState int mReceiveDatagramTransferState =
            SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE;
    @GuardedBy("mLock")
    private int mReceivePendingCount = 0;
    @GuardedBy("mLock")
    private int mReceiveErrorCode = SatelliteManager.SATELLITE_RESULT_SUCCESS;
    private AtomicInteger mReceiveSubId = new AtomicInteger(0);
    private @SatelliteManager.SatelliteDatagramTransferState AtomicInteger
            mReceiveDatagramTransferState = new AtomicInteger(
                    SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE);
    private AtomicInteger mReceivePendingCount = new AtomicInteger(0);
    private AtomicInteger mReceiveErrorCode =
            new AtomicInteger(SatelliteManager.SATELLITE_RESULT_SUCCESS);
    @GuardedBy("mLock")
    private final List<SatelliteDatagram> mDemoModeDatagramList;
    private boolean mIsDemoMode = false;
@@ -306,28 +304,29 @@ public class DatagramController {
     * @param datagramTransferState The new receive datagram transfer state.
     * @param receivePendingCount The number of datagrams that are currently pending to be received.
     * @param errorCode If datagram transfer failed, the reason for failure.
     *
     * This method is only used by {@link DatagramReceiver}.
     */
    public void updateReceiveStatus(int subId, @SatelliteManager.DatagramType int datagramType,
    @VisibleForTesting(visibility =  VisibleForTesting.Visibility.PACKAGE)
    protected void updateReceiveStatus(int subId, @SatelliteManager.DatagramType int datagramType,
            @SatelliteManager.SatelliteDatagramTransferState int datagramTransferState,
            int receivePendingCount, int errorCode) {
        synchronized (mLock) {
        plogd("updateReceiveStatus"
                + " subId: " + subId
                + " datagramType: " + datagramType
                + " datagramTransferState: " + datagramTransferState
                + " receivePendingCount: " + receivePendingCount + " errorCode: " + errorCode);

            mReceiveSubId = subId;
        mReceiveSubId.set(subId);
        mDatagramType.set(datagramType);
            mReceiveDatagramTransferState = datagramTransferState;
            mReceivePendingCount = receivePendingCount;
            mReceiveErrorCode = errorCode;
        mReceiveDatagramTransferState.set(datagramTransferState);
        mReceivePendingCount.set(receivePendingCount);
        mReceiveErrorCode.set(errorCode);

        notifyDatagramTransferStateChangedToSessionController(datagramType);
            mPointingAppController.updateReceiveDatagramTransferState(mReceiveSubId,
                    mReceiveDatagramTransferState, mReceivePendingCount, mReceiveErrorCode);
        mPointingAppController.updateReceiveDatagramTransferState(subId,
                datagramTransferState, receivePendingCount, errorCode);
        retryPollPendingDatagramsInDemoMode();
        }

        if (isPollingInIdleState()) {
            mDatagramDispatcher.retrySendingDatagrams();
@@ -338,8 +337,9 @@ public class DatagramController {
     * Return receive pending datagram count
     * @return receive pending datagram count.
     */
    public int getReceivePendingCount() {
        return mReceivePendingCount;
    @VisibleForTesting(visibility =  VisibleForTesting.Visibility.PACKAGE)
    protected int getReceivePendingCount() {
        return mReceivePendingCount.get();
    }


@@ -392,12 +392,10 @@ public class DatagramController {
        }
    }

    @VisibleForTesting
    public boolean isReceivingDatagrams() {
        synchronized (mLock) {
            return (mReceiveDatagramTransferState
                    == SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING);
        }
    @VisibleForTesting(visibility =  VisibleForTesting.Visibility.PACKAGE)
    protected boolean isReceivingDatagrams() {
        return mReceiveDatagramTransferState.get()
                == SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING;
    }

    /**
@@ -437,11 +435,9 @@ public class DatagramController {
        return mSendDatagramTransferState.get() == SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE;
    }

    public boolean isPollingInIdleState() {
        synchronized (mLock) {
            return (mReceiveDatagramTransferState
                    == SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE);
        }
    @VisibleForTesting(visibility =  VisibleForTesting.Visibility.PACKAGE)
    protected boolean isPollingInIdleState() {
        return mReceiveDatagramTransferState.get() == SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE;
    }

    /**
@@ -594,11 +590,8 @@ public class DatagramController {
            ploge("notifyDatagramTransferStateChangeToSessionController: SatelliteSessionController"
                    + " is not initialized yet");
        } else {
            synchronized (mLock) {
                sessionController.onDatagramTransferStateChanged(
                        mSendDatagramTransferState.get(),
                        mReceiveDatagramTransferState, datagramType);
            }
            sessionController.onDatagramTransferStateChanged(mSendDatagramTransferState.get(),
                    mReceiveDatagramTransferState.get(), datagramType);
        }
    }

+24 −0
Original line number Diff line number Diff line
@@ -355,9 +355,33 @@ public class DatagramControllerTest extends TelephonyTest {
                    errorCode);
        }

        @Override
        protected void updateReceiveStatus(int subId,
                @SatelliteManager.DatagramType int datagramType,
                @SatelliteManager.SatelliteDatagramTransferState int datagramTransferState,
                int receivePendingCount, int errorCode) {
            super.updateReceiveStatus(subId, datagramType, datagramTransferState,
                    receivePendingCount, errorCode);
        }

        @Override
        protected boolean isSendingInIdleState() {
            return super.isSendingInIdleState();
        }

        @Override
        protected int getReceivePendingCount() {
            return super.getReceivePendingCount();
        }

        @Override
        protected boolean isReceivingDatagrams() {
            return super.isReceivingDatagrams();
        }

        @Override
        protected boolean isPollingInIdleState() {
            return super.isPollingInIdleState();
        }
    }
}