summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'service/java/com/android/server/wifi/util/WifiPermissionsUtil.java')
-rw-r--r--service/java/com/android/server/wifi/util/WifiPermissionsUtil.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java b/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
index 2834ad765..b1ceaf37a 100644
--- a/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
+++ b/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java
@@ -124,10 +124,11 @@ public class WifiPermissionsUtil {
/**
* Checks whether than the target SDK of the package is less than the specified version code.
*/
- public boolean isTargetSdkLessThan(String packageName, int versionCode) {
+ public boolean isTargetSdkLessThan(String packageName, int versionCode, int callingUid) {
long ident = Binder.clearCallingIdentity();
try {
- if (mContext.getPackageManager().getApplicationInfo(packageName, 0).targetSdkVersion
+ if (mContext.getPackageManager().getApplicationInfoAsUser(
+ packageName, 0, UserHandle.getUserId(callingUid)).targetSdkVersion
< versionCode) {
return true;
}
@@ -153,7 +154,7 @@ public class WifiPermissionsUtil {
*/
public boolean checkCallersLocationPermission(String pkgName, int uid,
boolean coarseForTargetSdkLessThanQ) {
- boolean isTargetSdkLessThanQ = isTargetSdkLessThan(pkgName, Build.VERSION_CODES.Q);
+ boolean isTargetSdkLessThanQ = isTargetSdkLessThan(pkgName, Build.VERSION_CODES.Q, uid);
String permissionType = Manifest.permission.ACCESS_FINE_LOCATION;
if (coarseForTargetSdkLessThanQ && isTargetSdkLessThanQ) {