Merge "Add deprovisionSatellite api" into main
diff --git a/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java b/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
index 6f272fa..fef471a 100644
--- a/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
+++ b/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
@@ -1724,6 +1724,38 @@
}
}
+ /**
+ * Deliver the list of deprovisioned satellite subscriber ids.
+ *
+ * @param list List of deprovisioned SatelliteSubscriberInfo.
+ * @param executor The executor on which the callback will be called.
+ * @param callback The callback object to which the result will be delivered.
+ */
+ @FlaggedApi(Flags.FLAG_CARRIER_ROAMING_NB_IOT_NTN)
+ public void deprovisionSatellite(@NonNull List<SatelliteSubscriberInfoWrapper> list,
+ @NonNull @CallbackExecutor Executor executor,
+ @NonNull OutcomeReceiver<Boolean, SatelliteExceptionWrapper> callback) {
+ OutcomeReceiver internalCallback =
+ new OutcomeReceiver<Boolean, SatelliteException>() {
+ @Override
+ public void onResult(Boolean result) {
+ callback.onResult(result);
+ }
+
+ @Override
+ public void onError(SatelliteException exception) {
+ callback.onError(new SatelliteExceptionWrapper(exception.getErrorCode()));
+ }
+ };
+ mSatelliteManager.deprovisionSatellite(list.stream()
+ .map(info -> new SatelliteSubscriberInfo.Builder()
+ .setSubscriberId(info.getSubscriberId())
+ .setCarrierId(info.getCarrierId()).setNiddApn(info.getNiddApn())
+ .setSubId(info.getSubId()).setSubscriberIdType(info.getSubscriberIdType())
+ .build())
+ .collect(Collectors.toList()), executor, internalCallback);
+ }
+
@Nullable
private ServiceState getServiceStateForSubscriptionId(int subId) {
if (!mSubscriptionManager.isValidSubscriptionId(subId)) {