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: I9fbbba4ff7cc1a674561ec34d520c6502fe6730b
This commit is contained in:
Aishwarya Mallampati
2023-02-21 18:51:51 +00:00
parent b95f810ec8
commit f02832a3db
2 changed files with 16 additions and 3 deletions

View File

@@ -1255,6 +1255,15 @@ public class SatelliteManager {
* 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 @@ public class SatelliteManager {
*/
@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 @@ public class SatelliteManager {
}
};
telephony.sendSatelliteDatagram(mSubId, datagramId, datagramType, datagram,
receiver);
needFullScreenPointingUI, receiver);
} else {
throw new IllegalStateException("telephony service is null.");
}

View File

@@ -2938,13 +2938,16 @@ interface ITelephony {
* @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.