Add a new error case SATELLITE_RESULT_EMERGENCY_CALL_IN_PROGRESS
There is a case when user attempts emergency call, satellite is still getting the location information then enable it later this causes scenario conflict.
Therefore it is needed to block enabling satellite when user is attempting emergency call and let application to know the reason.
Bug: 355740633
Flag: EXEMPT bugfix
Test: manually e2e test whether satellite is enabled when user is attempting emergency call
atest SatelliteControllerTest
Change-Id: I1f3a8c4fe369061faf324d43aa66f1a27d7b5de9
diff --git a/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java b/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
index 87b7786..392ff63 100644
--- a/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
+++ b/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
@@ -401,6 +401,28 @@
public static final int SATELLITE_RESULT_MODEM_BUSY = 22;
/** Telephony process is not currently available or satellite is not supported. */
public static final int SATELLITE_RESULT_ILLEGAL_STATE = 23;
+ /**
+ * Telephony framework timeout to receive ACK or response from the satellite modem after
+ * sending a request to the modem.
+ */
+ public static final int SATELLITE_RESULT_MODEM_TIMEOUT = 24;
+
+ /**
+ * Telephony framework needs to access the current location of the device to perform the
+ * request. However, location in the settings is disabled by users.
+ */
+ public static final int SATELLITE_RESULT_LOCATION_DISABLED = 25;
+
+ /**
+ * Telephony framework needs to access the current location of the device to perform the
+ * request. However, Telephony fails to fetch the current location from location service.
+ */
+ public static final int SATELLITE_RESULT_LOCATION_NOT_AVAILABLE = 26;
+
+ /**
+ * Emergency call is in progress.
+ */
+ public static final int SATELLITE_RESULT_EMERGENCY_CALL_IN_PROGRESS = 27;
/** @hide */
@IntDef(
@@ -429,7 +451,11 @@
SATELLITE_RESULT_NOT_SUPPORTED,
SATELLITE_RESULT_REQUEST_IN_PROGRESS,
SATELLITE_RESULT_MODEM_BUSY,
- SATELLITE_RESULT_ILLEGAL_STATE
+ SATELLITE_RESULT_ILLEGAL_STATE,
+ SATELLITE_RESULT_MODEM_TIMEOUT,
+ SATELLITE_RESULT_LOCATION_DISABLED,
+ SATELLITE_RESULT_LOCATION_NOT_AVAILABLE,
+ SATELLITE_RESULT_EMERGENCY_CALL_IN_PROGRESS
})
@Retention(RetentionPolicy.SOURCE)
public @interface SatelliteResult {}