Update CTS test to support ENABLING_SATELLITE state Bug: 330585109 Test: SatelliteManagerTestOnMockService SatelliteSessionControllerTest SatelliteControllerTest Manual test with SatelliteTestApp Change-Id: I3e2bec31093c8d968dff01e1ed6be3a752941cba
diff --git a/tests/tests/telephony/current/src/android/telephony/satellite/cts/SatelliteManagerTestOnMockService.java b/tests/tests/telephony/current/src/android/telephony/satellite/cts/SatelliteManagerTestOnMockService.java index 6f70227..846dbc5 100644 --- a/tests/tests/telephony/current/src/android/telephony/satellite/cts/SatelliteManagerTestOnMockService.java +++ b/tests/tests/telephony/current/src/android/telephony/satellite/cts/SatelliteManagerTestOnMockService.java
@@ -507,8 +507,11 @@ sMockSatelliteServiceManager.clearMockPointingUiActivityStatusChanges(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.getModemState(1)); assertTrue(isSatelliteEnabled()); assertTrue(sMockSatelliteServiceManager.waitForRemoteSatelliteGatewayServiceConnected(1)); assertTrue(sMockSatelliteServiceManager.restoreSatellitePointingUiClassName()); @@ -601,8 +604,12 @@ assertTrue(sMockSatelliteServiceManager.overrideSatellitePointingUiClassName()); sMockSatelliteServiceManager.clearMockPointingUiActivityStatusChanges(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, + callback.getModemState(1)); assertTrue(isSatelliteEnabled()); assertTrue(sMockSatelliteServiceManager.waitForRemoteSatelliteGatewayServiceConnected(1)); assertTrue(sMockSatelliteServiceManager.restoreSatellitePointingUiClassName()); @@ -615,16 +622,17 @@ assertTrue(sMockSatelliteServiceManager.setSatelliteListeningTimeoutDuration( TEST_SATELLITE_LISTENING_TIMEOUT_MILLIS)); - // Verify state transitions: OFF -> NOT_CONNECTED -> IDLE + // Verify state transitions: OFF -> ENABLING_SATELLITE -> NOT_CONNECTED -> IDLE callback.clearModemStates(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(2)); + assertTrue(callback.waitUntilResult(3)); assertTrue(isSatelliteEnabled()); - assertEquals(2, callback.getTotalCountOfModemStates()); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, callback.getModemState(0)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, callback.getModemState(1)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, + callback.getModemState(2)); callback.clearModemStates(); requestSatelliteEnabled(false); @@ -637,8 +645,12 @@ callback.clearModemStates(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, + callback.getModemState(1)); assertTrue(isSatelliteEnabled()); assertTrue(sMockSatelliteServiceManager.setSatelliteListeningTimeoutDuration( @@ -664,8 +676,12 @@ // Verify state transitions: POWER_OFF -> NOT_CONNECTED callback.clearModemStates(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, + callback.getModemState(1)); assertTrue(isSatelliteEnabled()); assertTrue(sMockSatelliteServiceManager.setSatelliteListeningTimeoutDuration( @@ -690,8 +706,12 @@ // Verify state transitions: POWER_OFF -> NOT_CONNECTED callback.clearModemStates(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_NOT_CONNECTED, + callback.getModemState(1)); assertTrue(isSatelliteEnabled()); // Move to CONNECTED state @@ -1153,9 +1173,13 @@ assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_OFF, callback.modemState); } + callback.clearModemStates(); requestSatelliteEnabled(true, true, SatelliteManager.SATELLITE_RESULT_SUCCESS); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.getModemState(1)); assertTrue(isSatelliteEnabled()); requestSatelliteEnabled(true, true, SatelliteManager.SATELLITE_RESULT_SUCCESS); @@ -1176,9 +1200,13 @@ assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_OFF, callback.modemState); assertFalse(isSatelliteEnabled()); + callback.clearModemStates(); requestSatelliteEnabled(true, true, SatelliteManager.SATELLITE_RESULT_SUCCESS); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.getModemState(1)); assertTrue(isSatelliteEnabled()); callback.clearModemStates(); @@ -1311,7 +1339,7 @@ logd("testSendSatelliteDatagram_success: Enable satellite"); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); + assertTrue(callback.waitUntilResult(2)); assertTrue(isSatelliteEnabled()); sSatelliteManager.unregisterForModemStateChanged(callback); @@ -1943,7 +1971,7 @@ logd("testSendSatelliteDatagram_DemoMode_success: Enable satellite"); stateCallback.clearModemStates(); requestSatelliteEnabledForDemoMode(true); - assertTrue(stateCallback.waitUntilResult(1)); + assertTrue(stateCallback.waitUntilResult(2)); assertTrue(isSatelliteEnabled()); assertTrue(getIsEmergency()); sSatelliteManager.unregisterForModemStateChanged(stateCallback); @@ -1982,15 +2010,16 @@ new SatelliteTransmissionUpdateCallbackTest.DatagramStateChangeArgument( SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE, 0, SatelliteManager.SATELLITE_RESULT_SUCCESS)); - transmissionUpdateCallback.clearReceiveDatagramStateChanges(); - stopTransmissionUpdates(transmissionUpdateCallback); datagramCallback.waitUntilResult(1); // Because demo mode is on, the received datagram should be the same as the // last sent datagram + datagramCallback.waitUntilResult(1); assertTrue(Arrays.equals( datagramCallback.mDatagram.getSatelliteDatagram(), mText.getBytes())); sSatelliteManager.unregisterForIncomingDatagram(datagramCallback); + transmissionUpdateCallback.clearReceiveDatagramStateChanges(); + stopTransmissionUpdates(transmissionUpdateCallback); } sSatelliteManager.setDeviceAlignedWithSatellite(false); @@ -2020,7 +2049,7 @@ assertFalse(isSatelliteEnabled()); stateCallback.clearModemStates(); requestSatelliteEnabledForDemoMode(true); - assertTrue(stateCallback.waitUntilResult(1)); + assertTrue(stateCallback.waitUntilResult(2)); assertTrue(isSatelliteEnabled()); sSatelliteManager.setDeviceAlignedWithSatellite(true); @@ -2102,8 +2131,9 @@ stateCallback.clearModemStates(); } requestSatelliteEnabledForDemoMode(true); + assertTrue(stateCallback.waitUntilResult(2)); + assertTrue(isSatelliteEnabled()); assertTrue(getIsEmergency()); - assertTrue(stateCallback.waitUntilResult(1)); assertTrue(sMockSatelliteServiceManager.setShouldSendDatagramToModemInDemoMode(true)); LinkedBlockingQueue<Integer> resultListener = new LinkedBlockingQueue<>(1); @@ -2402,8 +2432,9 @@ stateCallback.clearModemStates(); } requestSatelliteEnabledForDemoMode(true); + assertTrue(stateCallback.waitUntilResult(2)); + assertTrue(isSatelliteEnabled()); assertTrue(getIsEmergency()); - assertTrue(stateCallback.waitUntilResult(1)); LinkedBlockingQueue<Integer> resultListener = new LinkedBlockingQueue<>(1); SatelliteTransmissionUpdateCallbackTest callback = @@ -2620,8 +2651,9 @@ stateCallback.clearModemStates(); } requestSatelliteEnabledForDemoMode(true); + assertTrue(stateCallback.waitUntilResult(2)); + assertTrue(isSatelliteEnabled()); assertTrue(getIsEmergency()); - assertTrue(stateCallback.waitUntilResult(1)); sSatelliteManager.setDeviceAlignedWithSatellite(true); assertTrue(sMockSatelliteServiceManager.setDatagramControllerTimeoutDuration(false, @@ -2897,8 +2929,11 @@ callback.clearModemStates(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.getModemState(1)); assertTrue(isSatelliteEnabled()); assertTrue(sMockSatelliteServiceManager.stopExternalSatelliteService()); @@ -2929,9 +2964,13 @@ } assertTrue(sMockSatelliteServiceManager.connectExternalSatelliteGatewayService()); + callback.clearModemStates(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.modemState); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.getModemState(1)); assertTrue(isSatelliteEnabled()); assertTrue(sMockSatelliteServiceManager.waitForRemoteSatelliteGatewayServiceConnected(1)); @@ -3289,8 +3328,9 @@ stateCallback.clearModemStates(); } requestSatelliteEnabledForDemoMode(true); + assertTrue(stateCallback.waitUntilResult(2)); + assertTrue(isSatelliteEnabled()); assertTrue(getIsEmergency()); - assertTrue(stateCallback.waitUntilResult(1)); assertTrue(sMockSatelliteServiceManager.setShouldSendDatagramToModemInDemoMode(false)); LinkedBlockingQueue<Integer> resultListener = new LinkedBlockingQueue<>(1); @@ -3577,7 +3617,11 @@ logd("testRequestSatelliteEnabled_timeout: enabling satellite..."); int result = requestSatelliteEnabledWithResult(true, TIMEOUT); assertEquals(SatelliteManager.SATELLITE_RESULT_MODEM_TIMEOUT, result); - assertFalse(callback.waitUntilResult(1)); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_OFF, callback.getModemState(1)); assertFalse(isSatelliteEnabled()); assertTrue(sMockSatelliteServiceManager.waitForEventOnRequestSatelliteEnabled(1)); @@ -3597,9 +3641,11 @@ logd("testRequestSatelliteEnabled_timeout: enabling satellite..."); callback.clearModemStates(); requestSatelliteEnabled(true); - assertTrue(callback.waitUntilResult(1)); - assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.modemState); - assertTrue(isSatelliteEnabled()); + assertTrue(callback.waitUntilResult(2)); + assertEquals(2, callback.getTotalCountOfModemStates()); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE, + callback.getModemState(0)); + assertEquals(SatelliteManager.SATELLITE_MODEM_STATE_IDLE, callback.getModemState(1)); sMockSatelliteServiceManager.setShouldRespondTelephony(false); assertTrue(sMockSatelliteServiceManager.setSatelliteControllerTimeoutDuration(false,