Merge "Update sendSatelliteDatagram API." into udc-dev
diff --git a/telephony/java/android/telephony/satellite/SatelliteManager.java b/telephony/java/android/telephony/satellite/SatelliteManager.java
index 3009bec..f8cf81c 100644
--- a/telephony/java/android/telephony/satellite/SatelliteManager.java
+++ b/telephony/java/android/telephony/satellite/SatelliteManager.java
@@ -1255,6 +1255,15 @@
* 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 needFullScreenPointingUI If set to true, this indicates pointingUI app to open in full
+ * screen mode if satellite communication needs pointingUI.
+ * If this is set to false, pointingUI may be presented to the
+ * user in collapsed view. Application may decide to mark this
+ * flag as true when the user is sending data for the first time
+ * or whenever there is a considerable idle time between
+ * satellite activity. This decision should be done based upon
+ * user activity and the application's ability to determine the
+ * best possible UX experience for the user.
* @param executor The executor on which the result listener will be called.
* @param callback The callback object to which the result will be returned.
* If datagram is sent successfully, then
@@ -1267,7 +1276,8 @@
*/
@RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
public void sendSatelliteDatagram(long datagramId, @DatagramType int datagramType,
- @NonNull SatelliteDatagram datagram, @NonNull @CallbackExecutor Executor executor,
+ @NonNull SatelliteDatagram datagram, boolean needFullScreenPointingUI,
+ @NonNull @CallbackExecutor Executor executor,
@NonNull OutcomeReceiver<Long, SatelliteException> callback) {
Objects.requireNonNull(datagram);
Objects.requireNonNull(executor);
@@ -1299,7 +1309,7 @@
}
};
telephony.sendSatelliteDatagram(mSubId, datagramId, datagramType, datagram,
- receiver);
+ needFullScreenPointingUI, receiver);
} else {
throw new IllegalStateException("telephony service is null.");
}
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index f4801c2..ef9dc3e 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -2938,13 +2938,16 @@
* @param datagramId An id that uniquely identifies datagram requested to be sent.
* @param datagramType Type of datagram.
* @param datagram Datagram to send over satellite.
+ * @param needFullScreenPointingUI this is used to indicate pointingUI app to open in
+ * full screen mode.
* @param receiver Result receiver to get the datagramId if datagram is sent successfully else
* error code of the request.
*/
@JavaPassthrough(annotation="@android.annotation.RequiresPermission("
+ "android.Manifest.permission.SATELLITE_COMMUNICATION)")
void sendSatelliteDatagram(int subId, long datagramId, int datagramType,
- in SatelliteDatagram datagram, in ResultReceiver receiver);
+ in SatelliteDatagram datagram, in boolean needFullScreenPointingUI,
+ in ResultReceiver receiver);
/**
* Request to get whether satellite communication is allowed for the current location.