Add a new API getAggregateSatellitePlmnListForCarrier
All sum of available satellite plmn list will be return when invoked.
Bug: 316264277
Test: Manual test with pixel in live network
Test: atest SatelliteManagerTest, SatelliteManagerTestOnMockService, NetworkSelectSettingsTest
Change-Id: If46bcb2b8a145d6894b38ff2e6e93f5f84c350e3
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index d8d8450..8e62191 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -12643,6 +12643,27 @@
return result;
}
+ /**
+ * Get the aggregated satellite plmn list. This API collects plmn data from multiple sources,
+ * including carrier config, entitlement server, and config update.
+ *
+ * @param subId subId The subscription ID of the carrier.
+ *
+ * @return List of plmns for carrier satellite service. If no plmn is available, empty list will
+ * be returned.
+ *
+ * @throws SecurityException if the caller doesn't have the required permission.
+ */
+ @NonNull public List<String> getAllSatellitePlmnsForCarrier(int subId) {
+ enforceSatelliteCommunicationPermission("getAllSatellitePlmnsForCarrier");
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ return mSatelliteController.getAllSatellitePlmnsForCarrier(subId);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
@Override
public void setVoiceServiceStateOverride(int subId, boolean hasService, String callingPackage) {
// Only telecom (and shell, for CTS purposes) is allowed to call this method.