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

Commit 0b5c5cba authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[MS26.1] Remove Process.NETWORK_STACK_UID dependency" am: c938ae40

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1933093

Change-Id: I34b531511298dd6385dd307296b54c9ab7454d1d
parents 88a9f98e c938ae40
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.net;

import static android.Manifest.permission.READ_NETWORK_USAGE_HISTORY;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.net.NetworkStats.UID_ALL;
import static android.net.TrafficStats.UID_REMOVED;
import static android.net.TrafficStats.UID_TETHERING;
@@ -106,7 +107,7 @@ public final class NetworkStatsAccess {

    /** Returns the {@link NetworkStatsAccess.Level} for the given caller. */
    public static @NetworkStatsAccess.Level int checkAccessLevel(
            Context context, int callingUid, String callingPackage) {
            Context context, int callingPid, int callingUid, String callingPackage) {
        final DevicePolicyManager mDpm = context.getSystemService(DevicePolicyManager.class);
        final TelephonyManager tm = (TelephonyManager)
                context.getSystemService(Context.TELEPHONY_SERVICE);
@@ -123,8 +124,12 @@ public final class NetworkStatsAccess {
        final boolean isDeviceOwner = mDpm != null && mDpm.isDeviceOwnerApp(callingPackage);
        final int appId = UserHandle.getAppId(callingUid);

        final boolean isNetworkStack = context.checkPermission(
                android.Manifest.permission.NETWORK_STACK, callingPid, callingUid)
                == PERMISSION_GRANTED;

        if (hasCarrierPrivileges || isDeviceOwner
                || appId == Process.SYSTEM_UID || appId == Process.NETWORK_STACK_UID) {
                || appId == Process.SYSTEM_UID || isNetworkStack) {
            // 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;
+1 −1
Original line number Diff line number Diff line
@@ -809,7 +809,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {

    private @NetworkStatsAccess.Level int checkAccessLevel(String callingPackage) {
        return NetworkStatsAccess.checkAccessLevel(
                mContext, Binder.getCallingUid(), callingPackage);
                mContext, Binder.getCallingPid(), Binder.getCallingUid(), callingPackage);
    }

    /**