Loading src/com/android/packageinstaller/permission/model/AppPermissionGroup.java +7 −7 Original line number Diff line number Diff line Loading @@ -353,7 +353,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> // no longer has it fixed in a denied state. if (permission.isUserFixed() || permission.isUserSet()) { permission.setUserFixed(false); permission.setUserSet(true); permission.setUserSet(false); mPackageManager.updatePermissionFlags(permission.getName(), mPackageInfo.packageName, PackageManager.FLAG_PERMISSION_USER_FIXED Loading Loading @@ -538,11 +538,11 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> final int permissionCount = mPermissions.size(); for (int i = 0; i < permissionCount; i++) { Permission permission = mPermissions.valueAt(i); if (!permission.isUserFixed()) { return false; if (permission.isUserFixed()) { return true; } } return true; return false; } public boolean isPolicyFixed() { Loading @@ -560,11 +560,11 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> final int permissionCount = mPermissions.size(); for (int i = 0; i < permissionCount; i++) { Permission permission = mPermissions.valueAt(i); if (!permission.isUserSet()) { return false; if (permission.isUserSet()) { return true; } } return true; return false; } public boolean isSystemFixed() { Loading src/com/android/packageinstaller/permission/model/AppPermissions.java +18 −25 Original line number Diff line number Diff line Loading @@ -48,11 +48,11 @@ public final class AppPermissions { private PackageInfo mPackageInfo; public AppPermissions(Context context, PackageInfo packageInfo, String[] permissions, public AppPermissions(Context context, PackageInfo packageInfo, String[] filterPermissions, boolean sortGroups, Runnable onErrorCallback) { mContext = context; mPackageInfo = packageInfo; mFilterPermissions = permissions; mFilterPermissions = filterPermissions; mAppLabel = BidiFormatter.getInstance().unicodeWrap( packageInfo.applicationInfo.loadSafeLabel( context.getPackageManager()).toString()); Loading Loading @@ -122,34 +122,13 @@ public final class AppPermissions { if (!filterPermission.equals(requestedPerm)) { continue; } if (hasGroupForPermission(requestedPerm)) { break; } AppPermissionGroup group = AppPermissionGroup.create(mContext, mPackageInfo, requestedPerm); if (group == null) { break; } mGroups.add(group); addPermissionGroupIfNeeded(requestedPerm); break; } } } else { for (String requestedPerm : mPackageInfo.requestedPermissions) { if (hasGroupForPermission(requestedPerm)) { continue; } AppPermissionGroup group = AppPermissionGroup.create(mContext, mPackageInfo, requestedPerm); if (group == null) { continue; } mGroups.add(group); addPermissionGroupIfNeeded(requestedPerm); } } Loading @@ -163,6 +142,20 @@ public final class AppPermissions { } } private void addPermissionGroupIfNeeded(String permission) { if (hasGroupForPermission(permission)) { return; } AppPermissionGroup group = AppPermissionGroup.create(mContext, mPackageInfo, permission); if (group == null) { return; } mGroups.add(group); } private boolean hasGroupForPermission(String permission) { for (AppPermissionGroup group : mGroups) { if (group.hasPermission(permission)) { Loading src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java +1 −1 Original line number Diff line number Diff line Loading @@ -210,7 +210,7 @@ public final class AppPermissionsFragmentWear extends PreferenceFragment { if((Boolean) newVal) { group.grantRuntimePermissions(false, new String[]{ perm.name }); } else { group.revokeRuntimePermissions(false, new String[]{ perm.name }); group.revokeRuntimePermissions(true, new String[]{ perm.name }); } return true; }); Loading Loading
src/com/android/packageinstaller/permission/model/AppPermissionGroup.java +7 −7 Original line number Diff line number Diff line Loading @@ -353,7 +353,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> // no longer has it fixed in a denied state. if (permission.isUserFixed() || permission.isUserSet()) { permission.setUserFixed(false); permission.setUserSet(true); permission.setUserSet(false); mPackageManager.updatePermissionFlags(permission.getName(), mPackageInfo.packageName, PackageManager.FLAG_PERMISSION_USER_FIXED Loading Loading @@ -538,11 +538,11 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> final int permissionCount = mPermissions.size(); for (int i = 0; i < permissionCount; i++) { Permission permission = mPermissions.valueAt(i); if (!permission.isUserFixed()) { return false; if (permission.isUserFixed()) { return true; } } return true; return false; } public boolean isPolicyFixed() { Loading @@ -560,11 +560,11 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> final int permissionCount = mPermissions.size(); for (int i = 0; i < permissionCount; i++) { Permission permission = mPermissions.valueAt(i); if (!permission.isUserSet()) { return false; if (permission.isUserSet()) { return true; } } return true; return false; } public boolean isSystemFixed() { Loading
src/com/android/packageinstaller/permission/model/AppPermissions.java +18 −25 Original line number Diff line number Diff line Loading @@ -48,11 +48,11 @@ public final class AppPermissions { private PackageInfo mPackageInfo; public AppPermissions(Context context, PackageInfo packageInfo, String[] permissions, public AppPermissions(Context context, PackageInfo packageInfo, String[] filterPermissions, boolean sortGroups, Runnable onErrorCallback) { mContext = context; mPackageInfo = packageInfo; mFilterPermissions = permissions; mFilterPermissions = filterPermissions; mAppLabel = BidiFormatter.getInstance().unicodeWrap( packageInfo.applicationInfo.loadSafeLabel( context.getPackageManager()).toString()); Loading Loading @@ -122,34 +122,13 @@ public final class AppPermissions { if (!filterPermission.equals(requestedPerm)) { continue; } if (hasGroupForPermission(requestedPerm)) { break; } AppPermissionGroup group = AppPermissionGroup.create(mContext, mPackageInfo, requestedPerm); if (group == null) { break; } mGroups.add(group); addPermissionGroupIfNeeded(requestedPerm); break; } } } else { for (String requestedPerm : mPackageInfo.requestedPermissions) { if (hasGroupForPermission(requestedPerm)) { continue; } AppPermissionGroup group = AppPermissionGroup.create(mContext, mPackageInfo, requestedPerm); if (group == null) { continue; } mGroups.add(group); addPermissionGroupIfNeeded(requestedPerm); } } Loading @@ -163,6 +142,20 @@ public final class AppPermissions { } } private void addPermissionGroupIfNeeded(String permission) { if (hasGroupForPermission(permission)) { return; } AppPermissionGroup group = AppPermissionGroup.create(mContext, mPackageInfo, permission); if (group == null) { return; } mGroups.add(group); } private boolean hasGroupForPermission(String permission) { for (AppPermissionGroup group : mGroups) { if (group.hasPermission(permission)) { Loading
src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java +1 −1 Original line number Diff line number Diff line Loading @@ -210,7 +210,7 @@ public final class AppPermissionsFragmentWear extends PreferenceFragment { if((Boolean) newVal) { group.grantRuntimePermissions(false, new String[]{ perm.name }); } else { group.revokeRuntimePermissions(false, new String[]{ perm.name }); group.revokeRuntimePermissions(true, new String[]{ perm.name }); } return true; }); Loading