Supports Android APIs for the Carrier NB-Satellite Provisioning
1. add requestProvisionSubscriberIds
2. add requestIsSatelliteProvisioned
3. add provisionSatellite
Bug: 348573493
Test: atest SatelliteManagerTest, SatelliteManagerTestOnMockService
Flag: com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn
Change-Id: Id7b8515e96cf1ac129a8df2f2d275e813ceee6ab
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 457fdd6..356a79e 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -165,6 +165,7 @@
import android.telephony.satellite.ISatelliteTransmissionUpdateCallback;
import android.telephony.satellite.NtnSignalStrength;
import android.telephony.satellite.NtnSignalStrengthCallback;
+import android.telephony.satellite.ProvisionSubscriberId;
import android.telephony.satellite.SatelliteCapabilities;
import android.telephony.satellite.SatelliteDatagram;
import android.telephony.satellite.SatelliteDatagramCallback;
@@ -14272,4 +14273,48 @@
enforcePackageUsageStatsPermission("requestSatelliteSessionStats");
mSatelliteController.requestSatelliteSessionStats(subId, result);
}
+
+ /**
+ * Request to get list of prioritized satellite subscriber ids to be used for provision.
+ *
+ * @param result The result receiver, which returns the list of prioritized satellite tokens
+ * to be used for provision if the request is successful or an error code if the request failed.
+ *
+ * @throws SecurityException if the caller doesn't have the required permission.
+ */
+ @Override
+ public void requestProvisionSubscriberIds(@NonNull ResultReceiver result) {
+ enforceSatelliteCommunicationPermission("requestProvisionSubscriberIds");
+ mSatelliteController.requestProvisionSubscriberIds(result);
+ }
+
+ /**
+ * Request to get provisioned status for given a satellite subscriber id.
+ *
+ * @param satelliteSubscriberId Satellite subscriber id requiring provisioned status check.
+ * @param result The result receiver, which returns the provisioned status of the token if the
+ * request is successful or an error code if the request failed.
+ *
+ * @throws SecurityException if the caller doesn't have the required permission.
+ */
+ @Override
+ public void requestIsProvisioned(String satelliteSubscriberId, @NonNull ResultReceiver result) {
+ enforceSatelliteCommunicationPermission("requestIsProvisioned");
+ mSatelliteController.requestIsProvisioned(satelliteSubscriberId, result);
+ }
+
+ /**
+ * Deliver the list of provisioned satellite subscriber ids.
+ *
+ * @param list List of provisioned satellite subscriber ids.
+ * @param result The result receiver that returns whether deliver success or fail.
+ *
+ * @throws SecurityException if the caller doesn't have the required permission.
+ */
+ @Override
+ public void provisionSatellite(List<ProvisionSubscriberId> list,
+ @NonNull ResultReceiver result) {
+ enforceSatelliteCommunicationPermission("provisionSatellite");
+ mSatelliteController.provisionSatellite(list, result);
+ }
}