Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b5a9d35 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Allow the network stack to read network stats history"

parents 121c035a 9ebadfcf
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.app.AppOpsManager;
import android.app.admin.DevicePolicyManagerInternal;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Process;
import android.os.UserHandle;
import android.telephony.TelephonyManager;

@@ -110,11 +111,12 @@ public final class NetworkStatsAccess {
        boolean hasCarrierPrivileges = tm != null &&
                tm.checkCarrierPrivilegesForPackageAnyPhone(callingPackage) ==
                        TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
        boolean isDeviceOwner = dpmi != null && dpmi.isActiveDeviceOwner(callingUid);
        final boolean isDeviceOwner = dpmi != null && dpmi.isActiveDeviceOwner(callingUid);
        final int appId = UserHandle.getAppId(callingUid);
        if (hasCarrierPrivileges || isDeviceOwner
                || UserHandle.getAppId(callingUid) == android.os.Process.SYSTEM_UID) {
            // Carrier-privileged apps and device owners, and the system can access data usage for
            // all apps on the device.
                || appId == Process.SYSTEM_UID || appId == Process.NETWORK_STACK_UID) {
            // Carrier-privileged apps and device owners, and the system (including the
            // network stack) can access data usage for all apps on the device.
            return NetworkStatsAccess.Level.DEVICE;
        }