[DU03-4]Add NETWORK_STACK Permission check for NetworkStatsService API

1. getUidStatsForTransport API

Bug: 210066922
Test: atest BatteryStatsImplTest WifiPowerCalculatorTest
            MobileRadioPowerCalculatorTest NetworkStatsServiceTest
Change-Id: I022c34b5af87fe3ff6857ea264bac2f7098eaed4
This commit is contained in:
Frank
2022-02-09 20:37:26 +08:00
parent c305fb04f1
commit c3c367e481
2 changed files with 7 additions and 3 deletions

View File

@@ -699,7 +699,9 @@ public class NetworkStatsManager {
* @hide * @hide
*/ */
@SystemApi @SystemApi
@RequiresPermission(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) @RequiresPermission(anyOf = {
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
android.Manifest.permission.NETWORK_STACK})
@NonNull public android.net.NetworkStats getMobileUidStats() { @NonNull public android.net.NetworkStats getMobileUidStats() {
try { try {
return mService.getUidStatsForTransport(TRANSPORT_CELLULAR); return mService.getUidStatsForTransport(TRANSPORT_CELLULAR);
@@ -723,7 +725,9 @@ public class NetworkStatsManager {
* @hide * @hide
*/ */
@SystemApi @SystemApi
@RequiresPermission(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) @RequiresPermission(anyOf = {
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
android.Manifest.permission.NETWORK_STACK})
@NonNull public android.net.NetworkStats getWifiUidStats() { @NonNull public android.net.NetworkStats getWifiUidStats() {
try { try {
return mService.getUidStatsForTransport(TRANSPORT_WIFI); return mService.getUidStatsForTransport(TRANSPORT_WIFI);

View File

@@ -1067,7 +1067,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
@Override @Override
public NetworkStats getUidStatsForTransport(int transport) { public NetworkStats getUidStatsForTransport(int transport) {
enforceAnyPermissionOf(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK); PermissionUtils.enforceNetworkStackPermission(mContext);
try { try {
final String[] relevantIfaces = final String[] relevantIfaces =
transport == TRANSPORT_WIFI ? mWifiIfaces : mMobileIfaces; transport == TRANSPORT_WIFI ? mWifiIfaces : mMobileIfaces;