Merge "Add callback method to notify the emergency mode included in satellite enable request is changed" into main
diff --git a/satellite_client/src/android/telephony/satellite/wrapper/CarrierRoamingNtnModeListenerWrapper.java b/satellite_client/src/android/telephony/satellite/wrapper/CarrierRoamingNtnModeListenerWrapper.java
index 4a2436e..1c0a840 100644
--- a/satellite_client/src/android/telephony/satellite/wrapper/CarrierRoamingNtnModeListenerWrapper.java
+++ b/satellite_client/src/android/telephony/satellite/wrapper/CarrierRoamingNtnModeListenerWrapper.java
@@ -16,6 +16,9 @@
package android.telephony.satellite.wrapper;
+import android.telephony.CarrierConfigManager;
+import android.telephony.ServiceState;
+
/** Interface for carrier roaming non-terrestrial network listener. */
public interface CarrierRoamingNtnModeListenerWrapper {
/**
@@ -28,4 +31,22 @@
* {code false} otherwise.
*/
void onCarrierRoamingNtnModeChanged(boolean active);
+
+ /**
+ * Callback invoked when eligibility to connect to carrier roaming non-terrestrial network
+ * changes.
+ *
+ * @param eligible {@code true} when the device is eligible for satellite
+ * communication if all the following conditions are met:
+ * <ul>
+ * <li>Any subscription on the device supports P2P satellite messaging which is defined by
+ * {@link CarrierConfigManager#KEY_SATELLITE_ATTACH_SUPPORTED_BOOL} </li>
+ * <li>{@link CarrierConfigManager#KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT} set to
+ * {@link CarrierConfigManager#CARRIER_ROAMING_NTN_CONNECT_MANUAL} </li>
+ * <li>The device is in {@link ServiceState#STATE_OUT_OF_SERVICE}, not connected to Wi-Fi,
+ * and the hysteresis timer defined by {@link CarrierConfigManager
+ * #KEY_CARRIER_SUPPORTED_SATELLITE_NOTIFICATION_HYSTERESIS_SEC_INT} is expired. </li>
+ * </ul>
+ */
+ default void onCarrierRoamingNtnEligibleStateChanged(boolean eligible) {}
}
diff --git a/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java b/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
index 8948172..87b7786 100644
--- a/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
+++ b/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
@@ -156,6 +156,11 @@
* is the last message to emergency service provider indicating no more help is needed.
*/
public static final int DATAGRAM_TYPE_LAST_SOS_MESSAGE_NO_HELP_NEEDED = 5;
+ /**
+ * Datagram type indicating that the message to be sent or received is of type SMS.
+ */
+ public static final int DATAGRAM_TYPE_SMS = 6;
+
/** @hide */
@IntDef(
prefix = "DATAGRAM_TYPE_",
@@ -165,7 +170,8 @@
DATAGRAM_TYPE_LOCATION_SHARING,
DATAGRAM_TYPE_KEEP_ALIVE,
DATAGRAM_TYPE_LAST_SOS_MESSAGE_STILL_NEED_HELP,
- DATAGRAM_TYPE_LAST_SOS_MESSAGE_NO_HELP_NEEDED
+ DATAGRAM_TYPE_LAST_SOS_MESSAGE_NO_HELP_NEEDED,
+ DATAGRAM_TYPE_SMS
})
@Retention(RetentionPolicy.SOURCE)
public @interface DatagramType {}
@@ -843,6 +849,12 @@
logd("onCarrierRoamingNtnModeChanged: active=" + active);
mListenerWrapper.onCarrierRoamingNtnModeChanged(active);
}
+
+ @Override
+ public void onCarrierRoamingNtnEligibleStateChanged(boolean eligible) {
+ logd("onCarrierRoamingNtnEligibleStateChanged: eligible=" + eligible);
+ mListenerWrapper.onCarrierRoamingNtnEligibleStateChanged(eligible);
+ }
}
/** Register for carrier roaming non-terrestrial network mode changes. */