Merge "[MS23] Remove UserHandle.getUserId dependencies" am: 8bc5344f95

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

Change-Id: I3e990106b20c498266b39cf9a2776baed1ccfdfd
This commit is contained in:
Treehugger Robot
2021-12-30 15:55:12 +00:00
committed by Automerger Merge Worker

View File

@@ -160,6 +160,8 @@ public final class NetworkStatsAccess {
*/ */
public static boolean isAccessibleToUser(int uid, int callerUid, public static boolean isAccessibleToUser(int uid, int callerUid,
@NetworkStatsAccess.Level int accessLevel) { @NetworkStatsAccess.Level int accessLevel) {
final int userId = UserHandle.getUserHandleForUid(uid).getIdentifier();
final int callerUserId = UserHandle.getUserHandleForUid(callerUid).getIdentifier();
switch (accessLevel) { switch (accessLevel) {
case NetworkStatsAccess.Level.DEVICE: case NetworkStatsAccess.Level.DEVICE:
// Device-level access - can access usage for any uid. // Device-level access - can access usage for any uid.
@@ -170,13 +172,13 @@ public final class NetworkStatsAccess {
// anonymized uids // anonymized uids
return uid == android.os.Process.SYSTEM_UID || uid == UID_REMOVED return uid == android.os.Process.SYSTEM_UID || uid == UID_REMOVED
|| uid == UID_TETHERING || uid == UID_ALL || uid == UID_TETHERING || uid == UID_ALL
|| UserHandle.getUserId(uid) == UserHandle.getUserId(callerUid); || userId == callerUserId;
case NetworkStatsAccess.Level.USER: case NetworkStatsAccess.Level.USER:
// User-level access - can access usage for any app running in the same user, along // User-level access - can access usage for any app running in the same user, along
// with some special uids (system, removed, or tethering). // with some special uids (system, removed, or tethering).
return uid == android.os.Process.SYSTEM_UID || uid == UID_REMOVED return uid == android.os.Process.SYSTEM_UID || uid == UID_REMOVED
|| uid == UID_TETHERING || uid == UID_TETHERING
|| UserHandle.getUserId(uid) == UserHandle.getUserId(callerUid); || userId == callerUserId;
case NetworkStatsAccess.Level.DEFAULT: case NetworkStatsAccess.Level.DEFAULT:
default: default:
// Default access level - can only access one's own usage. // Default access level - can only access one's own usage.