Loading src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java +30 −4 Original line number Diff line number Diff line Loading @@ -123,6 +123,16 @@ public class DatagramDispatcher extends Handler { return sInstance; } /** * @return The singleton instance of DatagramDispatcher. */ public static DatagramDispatcher getInstance() { if (sInstance == null) { loge("DatagramDispatcher was not yet initialized."); } return sInstance; } /** * Create a DatagramDispatcher to send satellite datagrams. * Loading Loading @@ -578,6 +588,22 @@ public class DatagramDispatcher extends Handler { } } /** Return pending user messages count */ public int getPendingUserMessagesCount() { synchronized (mLock) { int pendingUserMessagesCount = 0; for (Entry<Long, SendSatelliteDatagramArgument> entry : mPendingNonEmergencyDatagramsMap.entrySet()) { SendSatelliteDatagramArgument argument = entry.getValue(); if (argument.datagramType != SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { pendingUserMessagesCount += 1; } } pendingUserMessagesCount += mPendingEmergencyDatagramsMap.size(); return pendingUserMessagesCount; } } /** * Posts the specified command to be executed on the main thread and returns immediately. * Loading Loading @@ -608,11 +634,12 @@ public class DatagramDispatcher extends Handler { if (resultCode == SatelliteManager.SATELLITE_RESULT_SUCCESS) { mControllerMetricsStats.reportOutgoingDatagramSuccessCount(argument.datagramType, mIsDemoMode); mSessionMetricsStats.addCountOfSuccessfulOutgoingDatagram(); mSessionMetricsStats.addCountOfSuccessfulOutgoingDatagram(argument.datagramType); } else { mControllerMetricsStats.reportOutgoingDatagramFailCount(argument.datagramType, mIsDemoMode); mSessionMetricsStats.addCountOfFailedOutgoingDatagram(); mSessionMetricsStats.addCountOfFailedOutgoingDatagram(argument.datagramType, resultCode); } } Loading Loading @@ -817,8 +844,7 @@ public class DatagramDispatcher extends Handler { } // Abort sending all the pending datagrams abortSendingPendingDatagrams(argument.subId, SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED); abortSendingPendingDatagrams(argument.subId, SATELLITE_RESULT_MODEM_TIMEOUT); } } Loading src/java/com/android/internal/telephony/satellite/SatelliteController.java +14 −0 Original line number Diff line number Diff line Loading @@ -2911,6 +2911,20 @@ public class SatelliteController extends Handler { return new ArrayList<>(); } /** * Request to get the {@link SatelliteSessionStats} of the satellite service. * * @param subId The subId of the subscription to the satellite session stats for. * @param result The result receiver that returns the {@link SatelliteSessionStats} * if the request is successful or an error code if the request failed. */ public void requestSatelliteSessionStats(int subId, @NonNull ResultReceiver result) { if (!mFeatureFlags.oemEnabledSatelliteFlag()) { return; } mSessionMetricsStats.requestSatelliteSessionStats(subId, result); } /** * Get the carrier-enabled emergency call wait for connection timeout millis */ Loading src/java/com/android/internal/telephony/satellite/metrics/SessionMetricsStats.java +76 −2 Original line number Diff line number Diff line Loading @@ -17,13 +17,18 @@ package com.android.internal.telephony.satellite.metrics; import static android.telephony.satellite.NtnSignalStrength.NTN_SIGNAL_STRENGTH_NONE; import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_SUCCESS; import android.annotation.NonNull; import android.os.Bundle; import android.os.ResultReceiver; import android.telephony.satellite.NtnSignalStrength; import android.telephony.satellite.SatelliteManager; import android.telephony.satellite.SatelliteSessionStats; import android.util.Log; import com.android.internal.telephony.metrics.SatelliteStats; import com.android.internal.telephony.satellite.DatagramDispatcher; /** * Stats to log to satellite session metrics Loading @@ -41,6 +46,8 @@ public class SessionMetricsStats { private int mSessionDurationSec; private int mCountOfSuccessfulOutgoingDatagram; private int mCountOfFailedOutgoingDatagram; private int mCountOfTimedOutUserMessagesWaitingForConnection; private int mCountOfTimedOutUserMessagesWaitingForAck; private int mCountOfSuccessfulIncomingDatagram; private int mCountOfIncomingDatagramFailed; private boolean mIsDemoMode; Loading Loading @@ -111,7 +118,13 @@ public class SessionMetricsStats { } /** Increase the count of successful outgoing datagram transmission. */ public SessionMetricsStats addCountOfSuccessfulOutgoingDatagram() { public SessionMetricsStats addCountOfSuccessfulOutgoingDatagram( @NonNull @SatelliteManager.DatagramType int datagramType) { if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; } mCountOfSuccessfulOutgoingDatagram++; logd("addCountOfSuccessfulOutgoingDatagram: current count=" + mCountOfSuccessfulOutgoingDatagram); Loading @@ -119,9 +132,51 @@ public class SessionMetricsStats { } /** Increase the count of failed outgoing datagram transmission. */ public SessionMetricsStats addCountOfFailedOutgoingDatagram() { public SessionMetricsStats addCountOfFailedOutgoingDatagram( @NonNull @SatelliteManager.DatagramType int datagramType, @NonNull @SatelliteManager.SatelliteResult int resultCode) { if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; } mCountOfFailedOutgoingDatagram++; logd("addCountOfFailedOutgoingDatagram: current count=" + mCountOfFailedOutgoingDatagram); if (resultCode == SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE) { addCountOfTimedOutUserMessagesWaitingForConnection(datagramType); } else if (resultCode == SatelliteManager.SATELLITE_RESULT_MODEM_TIMEOUT) { addCountOfTimedOutUserMessagesWaitingForAck(datagramType); } return this; } /** Increase the count of user messages that timed out waiting for connection. */ private SessionMetricsStats addCountOfTimedOutUserMessagesWaitingForConnection( @NonNull @SatelliteManager.DatagramType int datagramType) { if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; } mCountOfTimedOutUserMessagesWaitingForConnection++; logd("addCountOfTimedOutUserMessagesWaitingForConnection: current count=" + mCountOfTimedOutUserMessagesWaitingForConnection); return this; } /** Increase the count of user messages that timed out waiting for ack. */ private SessionMetricsStats addCountOfTimedOutUserMessagesWaitingForAck( @NonNull @SatelliteManager.DatagramType int datagramType) { if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; } mCountOfTimedOutUserMessagesWaitingForAck++; logd("addCountOfTimedOutUserMessagesWaitingForAck: current count=" + mCountOfTimedOutUserMessagesWaitingForAck); return this; } Loading Loading @@ -180,6 +235,23 @@ public class SessionMetricsStats { initializeSessionMetricsParam(); } /** Returns {@link SatelliteSessionStats} of the satellite service. */ public void requestSatelliteSessionStats(int subId, @NonNull ResultReceiver result) { Bundle bundle = new Bundle(); SatelliteSessionStats sessionStats = new SatelliteSessionStats.Builder() .setCountOfSuccessfulUserMessages(mCountOfSuccessfulOutgoingDatagram) .setCountOfUnsuccessfulUserMessages(mCountOfFailedOutgoingDatagram) .setCountOfTimedOutUserMessagesWaitingForConnection( mCountOfTimedOutUserMessagesWaitingForConnection) .setCountOfTimedOutUserMessagesWaitingForAck( mCountOfTimedOutUserMessagesWaitingForAck) .setCountOfUserMessagesInQueueToBeSent( DatagramDispatcher.getInstance().getPendingUserMessagesCount()) .build(); bundle.putParcelable(SatelliteManager.KEY_SESSION_STATS, sessionStats); result.send(SATELLITE_RESULT_SUCCESS, bundle); } /** Returns the processing time for satellite session initialization. */ public long getSessionInitializationProcessingTimeMillis() { return mInitializationProcessingTimeMillis; Loading @@ -199,6 +271,8 @@ public class SessionMetricsStats { mSessionDurationSec = 0; mCountOfSuccessfulOutgoingDatagram = 0; mCountOfFailedOutgoingDatagram = 0; mCountOfTimedOutUserMessagesWaitingForConnection = 0; mCountOfTimedOutUserMessagesWaitingForAck = 0; mCountOfSuccessfulIncomingDatagram = 0; mCountOfIncomingDatagramFailed = 0; mIsDemoMode = false; Loading tests/telephonytests/src/com/android/internal/telephony/satellite/DatagramDispatcherTest.java +20 −10 Original line number Diff line number Diff line Loading @@ -238,7 +238,8 @@ public class DatagramDispatcherTest extends TelephonyTest { eq(SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE), eq(0), eq(SATELLITE_RESULT_SUCCESS)); verifyNoMoreInteractions(mMockDatagramController); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(eq(datagramType)); verify(mMockSatelliteModemInterface, times(1)).sendSatelliteDatagram( any(SatelliteDatagram.class), anyBoolean(), anyBoolean(), any(Message.class)); assertFalse(mDatagramDispatcherUT.isDatagramWaitForConnectedStateTimerStarted()); Loading Loading @@ -279,7 +280,8 @@ public class DatagramDispatcherTest extends TelephonyTest { assertThat(mResultListener.peek()).isEqualTo( SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE); assertFalse(mDatagramDispatcherUT.isDatagramWaitForConnectedStateTimerStarted()); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); mResultListener.clear(); mDatagramDispatcherUT.onSatelliteModemStateChanged( Loading Loading @@ -311,7 +313,8 @@ public class DatagramDispatcherTest extends TelephonyTest { assertThat(mResultListener.peek()).isEqualTo( SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED); assertFalse(mDatagramDispatcherUT.isDatagramWaitForConnectedStateTimerStarted()); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); } } Loading Loading @@ -372,7 +375,8 @@ public class DatagramDispatcherTest extends TelephonyTest { verify(mMockSatelliteModemInterface, times(1)).sendSatelliteDatagram( any(SatelliteDatagram.class), anyBoolean(), anyBoolean(), any(Message.class)); assertThat(mResultListener.peek()).isEqualTo(SATELLITE_RESULT_SUCCESS); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(anyInt()); clearInvocations(mMockSatelliteModemInterface); clearInvocations(mMockDatagramController); clearInvocations(mMockSessionMetricsStats); Loading Loading @@ -406,7 +410,8 @@ public class DatagramDispatcherTest extends TelephonyTest { any(SatelliteDatagram.class), anyBoolean(), anyBoolean(), any(Message.class)); verify(mMockSatelliteModemInterface).abortSendingSatelliteDatagrams(any(Message.class)); assertThat(mResultListener.peek()).isEqualTo(SATELLITE_RESULT_MODEM_TIMEOUT); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); clearInvocations(mMockSatelliteModemInterface); clearInvocations(mMockDatagramController); Loading Loading @@ -453,7 +458,8 @@ public class DatagramDispatcherTest extends TelephonyTest { assertThat(mResultListener.peek()).isEqualTo( SatelliteManager.SATELLITE_RESULT_SERVICE_ERROR); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); } @Test Loading Loading @@ -494,7 +500,8 @@ public class DatagramDispatcherTest extends TelephonyTest { eq(SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE), eq(0), eq(SATELLITE_RESULT_SUCCESS)); assertThat(mResultListener.peek()).isEqualTo(SATELLITE_RESULT_SUCCESS); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(eq(datagramType)); mDatagramDispatcherUT.setDemoMode(false); mDatagramDispatcherUT.setDeviceAlignedWithSatellite(false); } Loading Loading @@ -542,7 +549,8 @@ public class DatagramDispatcherTest extends TelephonyTest { verify(mMockDatagramController, never()).pollPendingSatelliteDatagrams(anyInt(), any()); verify(mMockDatagramController, never()).pushDemoModeDatagram( anyInt(), any(SatelliteDatagram.class)); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); } mDatagramDispatcherUT.setDemoMode(false); Loading Loading @@ -587,7 +595,8 @@ public class DatagramDispatcherTest extends TelephonyTest { .updateSendStatus(eq(SUB_ID), eq(DATAGRAM_TYPE2), eq(SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE), eq(0), eq(SATELLITE_RESULT_SUCCESS)); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(eq(DATAGRAM_TYPE2)); mDatagramDispatcherUT.setDemoMode(false); mDatagramDispatcherUT.setDeviceAlignedWithSatellite(false); Loading Loading @@ -699,7 +708,8 @@ public class DatagramDispatcherTest extends TelephonyTest { verify(mMockDatagramController).pushDemoModeDatagram( anyInt(), any(SatelliteDatagram.class)); verify(mMockDatagramController).pollPendingSatelliteDatagrams(anyInt(), any()); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(anyInt()); // Test when overlay config config_send_satellite_datagram_to_modem_in_demo_mode is // false Loading Loading
src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java +30 −4 Original line number Diff line number Diff line Loading @@ -123,6 +123,16 @@ public class DatagramDispatcher extends Handler { return sInstance; } /** * @return The singleton instance of DatagramDispatcher. */ public static DatagramDispatcher getInstance() { if (sInstance == null) { loge("DatagramDispatcher was not yet initialized."); } return sInstance; } /** * Create a DatagramDispatcher to send satellite datagrams. * Loading Loading @@ -578,6 +588,22 @@ public class DatagramDispatcher extends Handler { } } /** Return pending user messages count */ public int getPendingUserMessagesCount() { synchronized (mLock) { int pendingUserMessagesCount = 0; for (Entry<Long, SendSatelliteDatagramArgument> entry : mPendingNonEmergencyDatagramsMap.entrySet()) { SendSatelliteDatagramArgument argument = entry.getValue(); if (argument.datagramType != SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { pendingUserMessagesCount += 1; } } pendingUserMessagesCount += mPendingEmergencyDatagramsMap.size(); return pendingUserMessagesCount; } } /** * Posts the specified command to be executed on the main thread and returns immediately. * Loading Loading @@ -608,11 +634,12 @@ public class DatagramDispatcher extends Handler { if (resultCode == SatelliteManager.SATELLITE_RESULT_SUCCESS) { mControllerMetricsStats.reportOutgoingDatagramSuccessCount(argument.datagramType, mIsDemoMode); mSessionMetricsStats.addCountOfSuccessfulOutgoingDatagram(); mSessionMetricsStats.addCountOfSuccessfulOutgoingDatagram(argument.datagramType); } else { mControllerMetricsStats.reportOutgoingDatagramFailCount(argument.datagramType, mIsDemoMode); mSessionMetricsStats.addCountOfFailedOutgoingDatagram(); mSessionMetricsStats.addCountOfFailedOutgoingDatagram(argument.datagramType, resultCode); } } Loading Loading @@ -817,8 +844,7 @@ public class DatagramDispatcher extends Handler { } // Abort sending all the pending datagrams abortSendingPendingDatagrams(argument.subId, SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED); abortSendingPendingDatagrams(argument.subId, SATELLITE_RESULT_MODEM_TIMEOUT); } } Loading
src/java/com/android/internal/telephony/satellite/SatelliteController.java +14 −0 Original line number Diff line number Diff line Loading @@ -2911,6 +2911,20 @@ public class SatelliteController extends Handler { return new ArrayList<>(); } /** * Request to get the {@link SatelliteSessionStats} of the satellite service. * * @param subId The subId of the subscription to the satellite session stats for. * @param result The result receiver that returns the {@link SatelliteSessionStats} * if the request is successful or an error code if the request failed. */ public void requestSatelliteSessionStats(int subId, @NonNull ResultReceiver result) { if (!mFeatureFlags.oemEnabledSatelliteFlag()) { return; } mSessionMetricsStats.requestSatelliteSessionStats(subId, result); } /** * Get the carrier-enabled emergency call wait for connection timeout millis */ Loading
src/java/com/android/internal/telephony/satellite/metrics/SessionMetricsStats.java +76 −2 Original line number Diff line number Diff line Loading @@ -17,13 +17,18 @@ package com.android.internal.telephony.satellite.metrics; import static android.telephony.satellite.NtnSignalStrength.NTN_SIGNAL_STRENGTH_NONE; import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_SUCCESS; import android.annotation.NonNull; import android.os.Bundle; import android.os.ResultReceiver; import android.telephony.satellite.NtnSignalStrength; import android.telephony.satellite.SatelliteManager; import android.telephony.satellite.SatelliteSessionStats; import android.util.Log; import com.android.internal.telephony.metrics.SatelliteStats; import com.android.internal.telephony.satellite.DatagramDispatcher; /** * Stats to log to satellite session metrics Loading @@ -41,6 +46,8 @@ public class SessionMetricsStats { private int mSessionDurationSec; private int mCountOfSuccessfulOutgoingDatagram; private int mCountOfFailedOutgoingDatagram; private int mCountOfTimedOutUserMessagesWaitingForConnection; private int mCountOfTimedOutUserMessagesWaitingForAck; private int mCountOfSuccessfulIncomingDatagram; private int mCountOfIncomingDatagramFailed; private boolean mIsDemoMode; Loading Loading @@ -111,7 +118,13 @@ public class SessionMetricsStats { } /** Increase the count of successful outgoing datagram transmission. */ public SessionMetricsStats addCountOfSuccessfulOutgoingDatagram() { public SessionMetricsStats addCountOfSuccessfulOutgoingDatagram( @NonNull @SatelliteManager.DatagramType int datagramType) { if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; } mCountOfSuccessfulOutgoingDatagram++; logd("addCountOfSuccessfulOutgoingDatagram: current count=" + mCountOfSuccessfulOutgoingDatagram); Loading @@ -119,9 +132,51 @@ public class SessionMetricsStats { } /** Increase the count of failed outgoing datagram transmission. */ public SessionMetricsStats addCountOfFailedOutgoingDatagram() { public SessionMetricsStats addCountOfFailedOutgoingDatagram( @NonNull @SatelliteManager.DatagramType int datagramType, @NonNull @SatelliteManager.SatelliteResult int resultCode) { if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; } mCountOfFailedOutgoingDatagram++; logd("addCountOfFailedOutgoingDatagram: current count=" + mCountOfFailedOutgoingDatagram); if (resultCode == SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE) { addCountOfTimedOutUserMessagesWaitingForConnection(datagramType); } else if (resultCode == SatelliteManager.SATELLITE_RESULT_MODEM_TIMEOUT) { addCountOfTimedOutUserMessagesWaitingForAck(datagramType); } return this; } /** Increase the count of user messages that timed out waiting for connection. */ private SessionMetricsStats addCountOfTimedOutUserMessagesWaitingForConnection( @NonNull @SatelliteManager.DatagramType int datagramType) { if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; } mCountOfTimedOutUserMessagesWaitingForConnection++; logd("addCountOfTimedOutUserMessagesWaitingForConnection: current count=" + mCountOfTimedOutUserMessagesWaitingForConnection); return this; } /** Increase the count of user messages that timed out waiting for ack. */ private SessionMetricsStats addCountOfTimedOutUserMessagesWaitingForAck( @NonNull @SatelliteManager.DatagramType int datagramType) { if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; } mCountOfTimedOutUserMessagesWaitingForAck++; logd("addCountOfTimedOutUserMessagesWaitingForAck: current count=" + mCountOfTimedOutUserMessagesWaitingForAck); return this; } Loading Loading @@ -180,6 +235,23 @@ public class SessionMetricsStats { initializeSessionMetricsParam(); } /** Returns {@link SatelliteSessionStats} of the satellite service. */ public void requestSatelliteSessionStats(int subId, @NonNull ResultReceiver result) { Bundle bundle = new Bundle(); SatelliteSessionStats sessionStats = new SatelliteSessionStats.Builder() .setCountOfSuccessfulUserMessages(mCountOfSuccessfulOutgoingDatagram) .setCountOfUnsuccessfulUserMessages(mCountOfFailedOutgoingDatagram) .setCountOfTimedOutUserMessagesWaitingForConnection( mCountOfTimedOutUserMessagesWaitingForConnection) .setCountOfTimedOutUserMessagesWaitingForAck( mCountOfTimedOutUserMessagesWaitingForAck) .setCountOfUserMessagesInQueueToBeSent( DatagramDispatcher.getInstance().getPendingUserMessagesCount()) .build(); bundle.putParcelable(SatelliteManager.KEY_SESSION_STATS, sessionStats); result.send(SATELLITE_RESULT_SUCCESS, bundle); } /** Returns the processing time for satellite session initialization. */ public long getSessionInitializationProcessingTimeMillis() { return mInitializationProcessingTimeMillis; Loading @@ -199,6 +271,8 @@ public class SessionMetricsStats { mSessionDurationSec = 0; mCountOfSuccessfulOutgoingDatagram = 0; mCountOfFailedOutgoingDatagram = 0; mCountOfTimedOutUserMessagesWaitingForConnection = 0; mCountOfTimedOutUserMessagesWaitingForAck = 0; mCountOfSuccessfulIncomingDatagram = 0; mCountOfIncomingDatagramFailed = 0; mIsDemoMode = false; Loading
tests/telephonytests/src/com/android/internal/telephony/satellite/DatagramDispatcherTest.java +20 −10 Original line number Diff line number Diff line Loading @@ -238,7 +238,8 @@ public class DatagramDispatcherTest extends TelephonyTest { eq(SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE), eq(0), eq(SATELLITE_RESULT_SUCCESS)); verifyNoMoreInteractions(mMockDatagramController); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(eq(datagramType)); verify(mMockSatelliteModemInterface, times(1)).sendSatelliteDatagram( any(SatelliteDatagram.class), anyBoolean(), anyBoolean(), any(Message.class)); assertFalse(mDatagramDispatcherUT.isDatagramWaitForConnectedStateTimerStarted()); Loading Loading @@ -279,7 +280,8 @@ public class DatagramDispatcherTest extends TelephonyTest { assertThat(mResultListener.peek()).isEqualTo( SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE); assertFalse(mDatagramDispatcherUT.isDatagramWaitForConnectedStateTimerStarted()); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); mResultListener.clear(); mDatagramDispatcherUT.onSatelliteModemStateChanged( Loading Loading @@ -311,7 +313,8 @@ public class DatagramDispatcherTest extends TelephonyTest { assertThat(mResultListener.peek()).isEqualTo( SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED); assertFalse(mDatagramDispatcherUT.isDatagramWaitForConnectedStateTimerStarted()); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); } } Loading Loading @@ -372,7 +375,8 @@ public class DatagramDispatcherTest extends TelephonyTest { verify(mMockSatelliteModemInterface, times(1)).sendSatelliteDatagram( any(SatelliteDatagram.class), anyBoolean(), anyBoolean(), any(Message.class)); assertThat(mResultListener.peek()).isEqualTo(SATELLITE_RESULT_SUCCESS); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(anyInt()); clearInvocations(mMockSatelliteModemInterface); clearInvocations(mMockDatagramController); clearInvocations(mMockSessionMetricsStats); Loading Loading @@ -406,7 +410,8 @@ public class DatagramDispatcherTest extends TelephonyTest { any(SatelliteDatagram.class), anyBoolean(), anyBoolean(), any(Message.class)); verify(mMockSatelliteModemInterface).abortSendingSatelliteDatagrams(any(Message.class)); assertThat(mResultListener.peek()).isEqualTo(SATELLITE_RESULT_MODEM_TIMEOUT); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); clearInvocations(mMockSatelliteModemInterface); clearInvocations(mMockDatagramController); Loading Loading @@ -453,7 +458,8 @@ public class DatagramDispatcherTest extends TelephonyTest { assertThat(mResultListener.peek()).isEqualTo( SatelliteManager.SATELLITE_RESULT_SERVICE_ERROR); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); } @Test Loading Loading @@ -494,7 +500,8 @@ public class DatagramDispatcherTest extends TelephonyTest { eq(SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE), eq(0), eq(SATELLITE_RESULT_SUCCESS)); assertThat(mResultListener.peek()).isEqualTo(SATELLITE_RESULT_SUCCESS); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(eq(datagramType)); mDatagramDispatcherUT.setDemoMode(false); mDatagramDispatcherUT.setDeviceAlignedWithSatellite(false); } Loading Loading @@ -542,7 +549,8 @@ public class DatagramDispatcherTest extends TelephonyTest { verify(mMockDatagramController, never()).pollPendingSatelliteDatagrams(anyInt(), any()); verify(mMockDatagramController, never()).pushDemoModeDatagram( anyInt(), any(SatelliteDatagram.class)); verify(mMockSessionMetricsStats, times(1)).addCountOfFailedOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfFailedOutgoingDatagram(anyInt(), anyInt()); } mDatagramDispatcherUT.setDemoMode(false); Loading Loading @@ -587,7 +595,8 @@ public class DatagramDispatcherTest extends TelephonyTest { .updateSendStatus(eq(SUB_ID), eq(DATAGRAM_TYPE2), eq(SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE), eq(0), eq(SATELLITE_RESULT_SUCCESS)); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(eq(DATAGRAM_TYPE2)); mDatagramDispatcherUT.setDemoMode(false); mDatagramDispatcherUT.setDeviceAlignedWithSatellite(false); Loading Loading @@ -699,7 +708,8 @@ public class DatagramDispatcherTest extends TelephonyTest { verify(mMockDatagramController).pushDemoModeDatagram( anyInt(), any(SatelliteDatagram.class)); verify(mMockDatagramController).pollPendingSatelliteDatagrams(anyInt(), any()); verify(mMockSessionMetricsStats, times(1)).addCountOfSuccessfulOutgoingDatagram(); verify(mMockSessionMetricsStats, times(1)) .addCountOfSuccessfulOutgoingDatagram(anyInt()); // Test when overlay config config_send_satellite_datagram_to_modem_in_demo_mode is // false Loading