Update sendSatelliteDatagram API.
The following changes are made in this CL:
- Added needFullScreenPointingUI boolean as parameter in
sendSatelliteDatagram()
- Updated satellite datagram state enum.
Bug: 267826133
Test: atest SatelliteManagerTest
Change-Id: I0abaebea8603df49212e2ec2ad77d5108357b661
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 6447e4d..821b094 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -596,14 +596,18 @@
public @SatelliteManager.DatagramType int datagramType;
public @NonNull SatelliteDatagram datagram;
+
+ public boolean needFullScreenPointingUI;
public @NonNull ResultReceiver result;
SendSatelliteDatagramArgument(long datagramId,
@SatelliteManager.DatagramType int datagramType,
- SatelliteDatagram datagram, ResultReceiver result) {
+ SatelliteDatagram datagram, boolean needFullScreenPointingUI,
+ ResultReceiver result) {
this.datagramId = datagramId;
this.datagramType = datagramType;
this.datagram = datagram;
+ this.needFullScreenPointingUI = needFullScreenPointingUI;
this.result = result;
}
}
@@ -2953,12 +2957,13 @@
mSatelliteServiceController.sendSatelliteDatagram(
argument.datagram,
argument.datagramType == SatelliteManager.DATAGRAM_TYPE_SOS_MESSAGE,
- onCompleted);
+ argument.needFullScreenPointingUI, onCompleted);
break;
}
Phone phone = getPhoneFromRequest(request);
if (phone != null) {
- phone.sendSatelliteDatagram(onCompleted, argument.datagram);
+ phone.sendSatelliteDatagram(onCompleted, argument.datagram,
+ argument.needFullScreenPointingUI);
} else {
loge("sendSatelliteDatagram: No phone object");
argument.result.send(
@@ -13623,14 +13628,17 @@
* SOS_SMS or LOCATION_SHARING.
* @param datagram encoded gateway datagram which is encrypted by the caller.
* Datagram will be passed down to modem without any encoding or encryption.
- * @param callback The callback to get {@link SatelliteManager.SatelliteError} of the request.
+ * @param needFullScreenPointingUI this is used to indicate pointingUI app to open in
+ * full screen mode.
+ * @param result The result receiver that returns datagramId if datagram is sent successfully
+ * or {@link SatelliteManager.SatelliteError} of the request if it is failed.
*
* @throws SecurityException if the caller doesn't have required permission.
*/
@Override
public void sendSatelliteDatagram(int subId, long datagramId,
@SatelliteManager.DatagramType int datagramType, SatelliteDatagram datagram,
- @NonNull ResultReceiver result) {
+ boolean needFullScreenPointingUI, @NonNull ResultReceiver result) {
enforceSatelliteCommunicationPermission("sendSatelliteDatagram");
final int validSubId = getValidSatelliteSubId(subId);
@@ -13648,8 +13656,8 @@
// check if we need to start PointingUI.
sendRequestAsync(CMD_SEND_SATELLITE_DATAGRAM,
- new SendSatelliteDatagramArgument(datagramId, datagramType, datagram, result),
- phone, null);
+ new SendSatelliteDatagramArgument(datagramId, datagramType, datagram,
+ needFullScreenPointingUI, result), phone, null);
}
/**