diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/net/vcn/IVcnManagementService.aidl | 3 | ||||
| -rw-r--r-- | core/java/android/net/vcn/VcnManager.java | 18 |
2 files changed, 21 insertions, 0 deletions
diff --git a/core/java/android/net/vcn/IVcnManagementService.aidl b/core/java/android/net/vcn/IVcnManagementService.aidl index 5b79f7311b6d..e16f6b167750 100644 --- a/core/java/android/net/vcn/IVcnManagementService.aidl +++ b/core/java/android/net/vcn/IVcnManagementService.aidl @@ -24,12 +24,15 @@ import android.net.vcn.VcnConfig; import android.net.vcn.VcnUnderlyingNetworkPolicy; import android.os.ParcelUuid; +import java.util.List; + /** * @hide */ interface IVcnManagementService { void setVcnConfig(in ParcelUuid subscriptionGroup, in VcnConfig config, in String opPkgName); void clearVcnConfig(in ParcelUuid subscriptionGroup, in String opPkgName); + List<ParcelUuid> getConfiguredSubscriptionGroups(in String opPkgName); void addVcnUnderlyingNetworkPolicyListener(in IVcnUnderlyingNetworkPolicyListener listener); void removeVcnUnderlyingNetworkPolicyListener(in IVcnUnderlyingNetworkPolicyListener listener); diff --git a/core/java/android/net/vcn/VcnManager.java b/core/java/android/net/vcn/VcnManager.java index 344b20c036a0..9d1c1ff898e7 100644 --- a/core/java/android/net/vcn/VcnManager.java +++ b/core/java/android/net/vcn/VcnManager.java @@ -38,6 +38,7 @@ import java.io.IOException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; @@ -162,6 +163,23 @@ public class VcnManager { } } + /** + * Retrieves the list of Subscription Groups for which a VCN Configuration has been set. + * + * <p>The returned list will include only subscription groups for which the carrier app is + * privileged, and which have an associated {@link VcnConfig}. + * + * @throws SecurityException if the caller is not running as the primary user + */ + @NonNull + public List<ParcelUuid> getConfiguredSubscriptionGroups() { + try { + return mService.getConfiguredSubscriptionGroups(mContext.getOpPackageName()); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + // TODO(b/180537630): remove all VcnUnderlyingNetworkPolicyListener refs once Telephony is using // the new VcnNetworkPolicyChangeListener API /** |
