Loading core/api/module-lib-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -597,6 +597,7 @@ package android.telephony { public class TelephonyManager { method @NonNull public static int[] getAllNetworkTypes(); method @FlaggedApi("android.os.mainline_vcn_platform_api") @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Set<java.lang.String> getPackagesWithCarrierPrivileges(); } } Loading telephony/java/android/telephony/TelephonyManager.java +15 −4 Original line number Diff line number Diff line Loading @@ -10586,20 +10586,31 @@ public class TelephonyManager { return null; } /** @hide */ /** * Get the names of packages with carrier privileges for the current subscription. * * @throws UnsupportedOperationException If the device does not have {@link * PackageManager#FEATURE_TELEPHONY_SUBSCRIPTION} * @hide */ @FlaggedApi(android.os.Flags.FLAG_MAINLINE_VCN_PLATFORM_API) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public List<String> getPackagesWithCarrierPrivileges() { @RequiresFeature(PackageManager.FEATURE_TELEPHONY_SUBSCRIPTION) @NonNull public Set<String> getPackagesWithCarrierPrivileges() { final Set<String> result = new HashSet<>(); try { ITelephony telephony = getITelephony(); if (telephony != null) { return telephony.getPackagesWithCarrierPrivileges(getPhoneId()); result.addAll(telephony.getPackagesWithCarrierPrivileges(getPhoneId())); } } catch (RemoteException ex) { Rlog.e(TAG, "getPackagesWithCarrierPrivileges RemoteException", ex); } catch (NullPointerException ex) { Rlog.e(TAG, "getPackagesWithCarrierPrivileges NPE", ex); } return Collections.EMPTY_LIST; return result; } /** Loading tests/vcn/java/com/android/server/vcn/TelephonySubscriptionTrackerTest.java +5 −5 Original line number Diff line number Diff line Loading @@ -206,7 +206,7 @@ public class TelephonySubscriptionTrackerTest { .getAllSubscriptionInfoList(); doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(anyInt()); setPrivilegedPackagesForMock(Collections.singletonList(PACKAGE_NAME)); setPrivilegedPackagesForMock(Collections.singleton(PACKAGE_NAME)); } private IntentFilter getIntentFilter() { Loading Loading @@ -293,7 +293,7 @@ public class TelephonySubscriptionTrackerTest { Collections.singletonMap(TEST_SUBSCRIPTION_ID_1, TEST_CARRIER_CONFIG_WRAPPER)); } private void setPrivilegedPackagesForMock(@NonNull List<String> privilegedPackages) { private void setPrivilegedPackagesForMock(@NonNull Set<String> privilegedPackages) { doReturn(privilegedPackages).when(mTelephonyManager).getPackagesWithCarrierPrivileges(); } Loading Loading @@ -390,7 +390,7 @@ public class TelephonySubscriptionTrackerTest { @Test public void testOnSubscriptionsChangedFired_onActiveSubIdsChanged() throws Exception { setupReadySubIds(); setPrivilegedPackagesForMock(Collections.emptyList()); setPrivilegedPackagesForMock(Collections.emptySet()); doReturn(TEST_SUBSCRIPTION_ID_2).when(mDeps).getActiveDataSubscriptionId(); final ActiveDataSubscriptionIdListener listener = getActiveDataSubscriptionIdListener(); Loading @@ -411,7 +411,7 @@ public class TelephonySubscriptionTrackerTest { public void testOnSubscriptionsChangedFired_WithReadySubidsNoPrivilegedPackages() throws Exception { setupReadySubIds(); setPrivilegedPackagesForMock(Collections.emptyList()); setPrivilegedPackagesForMock(Collections.emptySet()); final OnSubscriptionsChangedListener listener = getOnSubscriptionsChangedListener(); listener.onSubscriptionsChanged(); Loading Loading @@ -567,7 +567,7 @@ public class TelephonySubscriptionTrackerTest { verify(mCallback).onNewSnapshot(eq(buildExpectedSnapshot(TEST_PRIVILEGED_PACKAGES))); // Simulate a loss of carrier privileges setPrivilegedPackagesForMock(Collections.emptyList()); setPrivilegedPackagesForMock(Collections.emptySet()); listener.onSubscriptionsChanged(); mTestLooper.dispatchAll(); Loading Loading
core/api/module-lib-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -597,6 +597,7 @@ package android.telephony { public class TelephonyManager { method @NonNull public static int[] getAllNetworkTypes(); method @FlaggedApi("android.os.mainline_vcn_platform_api") @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Set<java.lang.String> getPackagesWithCarrierPrivileges(); } } Loading
telephony/java/android/telephony/TelephonyManager.java +15 −4 Original line number Diff line number Diff line Loading @@ -10586,20 +10586,31 @@ public class TelephonyManager { return null; } /** @hide */ /** * Get the names of packages with carrier privileges for the current subscription. * * @throws UnsupportedOperationException If the device does not have {@link * PackageManager#FEATURE_TELEPHONY_SUBSCRIPTION} * @hide */ @FlaggedApi(android.os.Flags.FLAG_MAINLINE_VCN_PLATFORM_API) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public List<String> getPackagesWithCarrierPrivileges() { @RequiresFeature(PackageManager.FEATURE_TELEPHONY_SUBSCRIPTION) @NonNull public Set<String> getPackagesWithCarrierPrivileges() { final Set<String> result = new HashSet<>(); try { ITelephony telephony = getITelephony(); if (telephony != null) { return telephony.getPackagesWithCarrierPrivileges(getPhoneId()); result.addAll(telephony.getPackagesWithCarrierPrivileges(getPhoneId())); } } catch (RemoteException ex) { Rlog.e(TAG, "getPackagesWithCarrierPrivileges RemoteException", ex); } catch (NullPointerException ex) { Rlog.e(TAG, "getPackagesWithCarrierPrivileges NPE", ex); } return Collections.EMPTY_LIST; return result; } /** Loading
tests/vcn/java/com/android/server/vcn/TelephonySubscriptionTrackerTest.java +5 −5 Original line number Diff line number Diff line Loading @@ -206,7 +206,7 @@ public class TelephonySubscriptionTrackerTest { .getAllSubscriptionInfoList(); doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(anyInt()); setPrivilegedPackagesForMock(Collections.singletonList(PACKAGE_NAME)); setPrivilegedPackagesForMock(Collections.singleton(PACKAGE_NAME)); } private IntentFilter getIntentFilter() { Loading Loading @@ -293,7 +293,7 @@ public class TelephonySubscriptionTrackerTest { Collections.singletonMap(TEST_SUBSCRIPTION_ID_1, TEST_CARRIER_CONFIG_WRAPPER)); } private void setPrivilegedPackagesForMock(@NonNull List<String> privilegedPackages) { private void setPrivilegedPackagesForMock(@NonNull Set<String> privilegedPackages) { doReturn(privilegedPackages).when(mTelephonyManager).getPackagesWithCarrierPrivileges(); } Loading Loading @@ -390,7 +390,7 @@ public class TelephonySubscriptionTrackerTest { @Test public void testOnSubscriptionsChangedFired_onActiveSubIdsChanged() throws Exception { setupReadySubIds(); setPrivilegedPackagesForMock(Collections.emptyList()); setPrivilegedPackagesForMock(Collections.emptySet()); doReturn(TEST_SUBSCRIPTION_ID_2).when(mDeps).getActiveDataSubscriptionId(); final ActiveDataSubscriptionIdListener listener = getActiveDataSubscriptionIdListener(); Loading @@ -411,7 +411,7 @@ public class TelephonySubscriptionTrackerTest { public void testOnSubscriptionsChangedFired_WithReadySubidsNoPrivilegedPackages() throws Exception { setupReadySubIds(); setPrivilegedPackagesForMock(Collections.emptyList()); setPrivilegedPackagesForMock(Collections.emptySet()); final OnSubscriptionsChangedListener listener = getOnSubscriptionsChangedListener(); listener.onSubscriptionsChanged(); Loading Loading @@ -567,7 +567,7 @@ public class TelephonySubscriptionTrackerTest { verify(mCallback).onNewSnapshot(eq(buildExpectedSnapshot(TEST_PRIVILEGED_PACKAGES))); // Simulate a loss of carrier privileges setPrivilegedPackagesForMock(Collections.emptyList()); setPrivilegedPackagesForMock(Collections.emptySet()); listener.onSubscriptionsChanged(); mTestLooper.dispatchAll(); Loading