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

Commit b0d031ad authored by Android (Google) Code Review's avatar Android (Google) Code Review Committed by The Android Open Source Project
Browse files

am fa30c0ee: Merge change 2548 into donut

Merge commit 'fa30c0ee'

* commit 'fa30c0ee':
  Fix a bug in AppSecurityPermissions where it wouldn't display permissions used by an app if it uses a shared user id.
parents 7c49790c fa30c0ee
Loading
Loading
Loading
Loading
+13 −18
Original line number Diff line number Diff line
@@ -124,25 +124,25 @@ public class AppSecurityPermissions implements View.OnClickListener {
        if(pkg == null) {
            return;
        }
        // Extract shared user permissions if any
        // Get requested permissions
        if (pkg.requestedPermissions != null) {
            ArrayList<String> strList = pkg.requestedPermissions;
            int size = strList.size();
            if (size > 0) {
                extractPerms(strList.toArray(new String[size]), permSet);
            }
        }
        // Get permissions related to  shared user if any
        if(pkg.mSharedUserId != null) {
            int sharedUid;
            try {
                sharedUid = mPm.getUidForSharedUser(pkg.mSharedUserId);
                getAllUsedPermissions(sharedUid, permSet);
            } catch (NameNotFoundException e) {
                Log.w(TAG, "Could'nt retrieve shared user id for:"+pkg.packageName);
                return;
            }
            getAllUsedPermissions(sharedUid, permSet);
        } else {
            ArrayList<String> strList = pkg.requestedPermissions;
            int size;
            if((strList == null) || ((size = strList.size()) == 0)) {
                return;
            }
            // Extract permissions defined in current package
            extractPerms(strList.toArray(new String[size]), permSet);
        }
        // Retrieve list of permissions
        for(PermissionInfo tmpInfo : permSet) {
            mPermsList.add(tmpInfo);
        }
@@ -176,14 +176,9 @@ public class AppSecurityPermissions implements View.OnClickListener {
            Log.w(TAG, "Could'nt retrieve permissions for package:"+packageName);
            return;
        }
        if(pkgInfo == null) {
            return;
        }
        String strList[] = pkgInfo.requestedPermissions;
        if(strList == null) {
            return;
        if ((pkgInfo != null) && (pkgInfo.requestedPermissions != null)) {
            extractPerms(pkgInfo.requestedPermissions, permSet);
        }
        extractPerms(strList, permSet);
    }
    
    private void extractPerms(String strList[], Set<PermissionInfo> permSet) {