Add new satellite datagram transfer state for NB IOT
Bug: 300483339
Test: SMS, MMS, call with live network.
atest SatelliteSessionControllerTest
atest DatagramDispatcherTest DatagramReceiverTest
atest SatelliteSOSMessageRecommenderTest
atest SatelliteControllerTest
atest SatelliteManagerTestOnMockService
Change-Id: I1b972cb8bbd3dd0d7577ded26eabb0a6eafd6a65
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 5c48b21..7c78f09 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -16706,6 +16706,7 @@
field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED = 3; // 0x3
field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS = 2; // 0x2
field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN = -1; // 0xffffffff
+ field @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT = 8; // 0x8
field @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) public static final int SATELLITE_MODEM_STATE_CONNECTED = 7; // 0x7
field public static final int SATELLITE_MODEM_STATE_DATAGRAM_RETRYING = 3; // 0x3
field public static final int SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING = 2; // 0x2
diff --git a/telephony/java/android/telephony/satellite/SatelliteManager.java b/telephony/java/android/telephony/satellite/SatelliteManager.java
index 6130af5..a4527f12 100644
--- a/telephony/java/android/telephony/satellite/SatelliteManager.java
+++ b/telephony/java/android/telephony/satellite/SatelliteManager.java
@@ -724,6 +724,17 @@
*/
public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED = 7;
/**
+ * A transition state indicating that Telephony is waiting for satellite modem to connect to a
+ * satellite network before sending a datagram or polling for datagrams. If the satellite modem
+ * successfully connects to a satellite network, either
+ * {@link #SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING} or
+ * {@link #SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING} will be sent. Otherwise,
+ * either {@link #SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED} or
+ * {@link #SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED} will be sent.
+ */
+ @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
+ public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT = 8;
+ /**
* The datagram transfer state is unknown. This generic datagram transfer state should be used
* only when the datagram transfer state cannot be mapped to other specific datagram transfer
* states.
@@ -740,6 +751,7 @@
SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS,
SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE,
SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED,
+ SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT,
SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN
})
@Retention(RetentionPolicy.SOURCE)