From d9bee87b824ba9e1ee108a9a3f8c995cf8088956 Mon Sep 17 00:00:00 2001 From: Tony Mak Date: Mon, 26 Mar 2018 12:38:04 +0100 Subject: [PATCH 1/2] Get application info in the correct user id Fixes: 76396560 Test: Create work profile and launch hangouts in work profile. Change-Id: Ic3727ac899153b6a96dd9b6d6921c32ba0bbd93e (cherry picked from commit 2f6bcd9c06390c057629c42f9c553c39f874e322) --- .../com/android/server/connectivity/PermissionMonitor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/connectivity/PermissionMonitor.java b/services/core/java/com/android/server/connectivity/PermissionMonitor.java index d578e95931..e471c7d84b 100644 --- a/services/core/java/com/android/server/connectivity/PermissionMonitor.java +++ b/services/core/java/com/android/server/connectivity/PermissionMonitor.java @@ -202,7 +202,9 @@ public class PermissionMonitor { // Only using the first package name. There may be multiple names if multiple // apps share the same UID, but in that case they also share permissions so // querying with any of the names will return the same results. - final PackageInfo app = mPackageManager.getPackageInfo(names[0], GET_PERMISSIONS); + int userId = UserHandle.getUserId(uid); + final PackageInfo app = mPackageManager.getPackageInfoAsUser( + names[0], GET_PERMISSIONS, userId); return hasUseBackgroundNetworksPermission(app); } catch (NameNotFoundException e) { // App not found. From d810e5e91488644d2fba90521c988cf5392ce5e3 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 16 Apr 2018 16:39:55 +0000 Subject: [PATCH 2/2] Revert "OP_GET_USAGE_STATS should be noted, not checked." This reverts commit b1296e58da89caa2a250e23d7944a894437850d5. Reason for revert: ijpedowitz@ Bug: 77662908 Change-Id: I5dd0ad5038df90ea8a80ba6f583ee46fb24600c2 Exempt-From-Owner-Approval: keep tests passing (cherry picked from commit d5992e681f719275efa1d9f0a7c5b92cf4811b63) --- .../net/java/com/android/server/net/NetworkStatsAccessTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/net/java/com/android/server/net/NetworkStatsAccessTest.java b/tests/net/java/com/android/server/net/NetworkStatsAccessTest.java index b870bbdb73..23318c29df 100644 --- a/tests/net/java/com/android/server/net/NetworkStatsAccessTest.java +++ b/tests/net/java/com/android/server/net/NetworkStatsAccessTest.java @@ -176,7 +176,7 @@ public class NetworkStatsAccessTest { } private void setHasAppOpsPermission(int appOpsMode, boolean hasPermission) { - when(mAppOps.noteOp(AppOpsManager.OP_GET_USAGE_STATS, TEST_UID, TEST_PKG)) + when(mAppOps.checkOp(AppOpsManager.OP_GET_USAGE_STATS, TEST_UID, TEST_PKG)) .thenReturn(appOpsMode); when(mContext.checkCallingPermission(Manifest.permission.PACKAGE_USAGE_STATS)).thenReturn( hasPermission ? PackageManager.PERMISSION_GRANTED