Loading src/com/android/permissioncontroller/permission/model/livedatatypes/LightAppPermGroup.kt +17 −32 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ data class LightAppPermGroup( * All foreground permissions in the permission group which are requested by the package. */ val foregroundPermNames get() = permissions.mapNotNull { (name, _) -> if (name in backgroundPermNames) name else null if (name !in backgroundPermNames) name else null } val foreground = AppPermSubGroup(permissions.filter { it.key in foregroundPermNames }, Loading Loading @@ -101,30 +101,15 @@ data class LightAppPermGroup( */ val isOneTime = permissions.any { it.value.isOneTime } val isBackgroundGranted = specialLocationGrant ?: permissions.any { backgroundPermNames.contains(it.key) && it.value.isGrantedIncludingAppOp } val isForegroundGrantedByDefault = permissions.any { !backgroundPermNames.contains(it.key) && it.value.isGrantedByDefault } val isBackgroundGrantedByDefault = permissions.any { backgroundPermNames.contains(it.key) && it.value.isGrantedByDefault } val isForegroundGrantedByRole = permissions.any { !backgroundPermNames.contains(it.key) && it.value.isGrantedByRole } val isBackgroundGrantedByRole = permissions.any { backgroundPermNames.contains(it.key) && it.value.isGrantedByRole } /** * Whether any permissions in this group are granted by default (pregrant) */ val isGrantedByDefault = foreground.isGrantedByDefault || background.isGrantedByDefault /** * Whether this App Permission Subgroup's permissions are fixed by the user * Whether any permissions in this group are granted by being a role holder */ val isUserFixed = permissions.any { it.value.isUserFixed } val isGrantedByRole = foreground.isGrantedByRole || background.isGrantedByRole /** * A subset of the AppPermssionGroup, representing either the background or foreground permissions Loading @@ -148,6 +133,11 @@ data class LightAppPermGroup( */ val isSystemFixed = permissions.any { it.value.isSystemFixed } /** * Whether this App Permission Group's permissions are fixed by the user */ val isUserFixed = permissions.any { it.value.isUserFixed } /** * Whether any of this App Permission SubGroup's permissions are granted */ Loading @@ -157,15 +147,10 @@ data class LightAppPermGroup( * Whether any of this App Permission SubGroup's permissions are granted by default */ val isGrantedByDefault = permissions.any { it.value.isGrantedByDefault } } /** * Whether any permissions in this group are granted by default (pregrant) */ val isGrantedByDefault = isForegroundGrantedByDefault || isBackgroundGrantedByDefault /** * Whether any permissions in this group are granted by being a role holder * Whether any of this App Permission SubGroup's permissions are granted by their role */ val isGrantedByRole = isForegroundGrantedByRole || isBackgroundGrantedByRole val isGrantedByRole = permissions.any { it.value.isGrantedByRole } } } No newline at end of file src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionViewModel.kt +7 −6 Original line number Diff line number Diff line Loading @@ -174,8 +174,9 @@ class AppPermissionViewModel( group.foreground.isGranted allowedForegroundState.isChecked = group.foreground.isGranted && !group.background.isGranted && !group.isOneTime askState.isChecked = !group.foreground.isGranted && !group.isUserFixed deniedState.isChecked = !group.foreground.isGranted && group.isUserFixed val groupUserFixed = group.foreground.isUserFixed || group.background.isUserFixed askState.isChecked = !group.foreground.isGranted && !groupUserFixed deniedState.isChecked = !group.foreground.isGranted && groupUserFixed if (applyFixToForegroundBackground(group, group.foreground.isSystemFixed, group.background.isSystemFixed, allowedAlwaysState, Loading @@ -200,8 +201,8 @@ class AppPermissionViewModel( allowedState.isShown = true allowedState.isChecked = group.foreground.isGranted askState.isChecked = !group.foreground.isGranted && !group.isUserFixed deniedState.isChecked = !group.foreground.isGranted && group.isUserFixed askState.isChecked = !group.foreground.isGranted && !group.foreground.isUserFixed deniedState.isChecked = !group.foreground.isGranted && group.foreground.isUserFixed if (group.foreground.isPolicyFixed || group.foreground.isSystemFixed) { allowedState.isEnabled = false Loading Loading @@ -420,7 +421,7 @@ class AppPermissionViewModel( var newGroup = group val oldGroup = group if (shouldChangeForeground && (wasForegroundGranted || userFixed != group.isUserFixed)) { (wasForegroundGranted || userFixed != group.foreground.isUserFixed)) { newGroup = KotlinUtils.revokeForegroundRuntimePermissions(app, newGroup, userFixed) Loading @@ -431,7 +432,7 @@ class AppPermissionViewModel( } } if (shouldChangeBackground && group.hasBackgroundGroup && (wasBackgroundGranted || userFixed != group.isUserFixed)) { (wasBackgroundGranted || userFixed != group.background.isUserFixed)) { newGroup = KotlinUtils.revokeBackgroundRuntimePermissions(app, newGroup, userFixed) Loading Loading
src/com/android/permissioncontroller/permission/model/livedatatypes/LightAppPermGroup.kt +17 −32 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ data class LightAppPermGroup( * All foreground permissions in the permission group which are requested by the package. */ val foregroundPermNames get() = permissions.mapNotNull { (name, _) -> if (name in backgroundPermNames) name else null if (name !in backgroundPermNames) name else null } val foreground = AppPermSubGroup(permissions.filter { it.key in foregroundPermNames }, Loading Loading @@ -101,30 +101,15 @@ data class LightAppPermGroup( */ val isOneTime = permissions.any { it.value.isOneTime } val isBackgroundGranted = specialLocationGrant ?: permissions.any { backgroundPermNames.contains(it.key) && it.value.isGrantedIncludingAppOp } val isForegroundGrantedByDefault = permissions.any { !backgroundPermNames.contains(it.key) && it.value.isGrantedByDefault } val isBackgroundGrantedByDefault = permissions.any { backgroundPermNames.contains(it.key) && it.value.isGrantedByDefault } val isForegroundGrantedByRole = permissions.any { !backgroundPermNames.contains(it.key) && it.value.isGrantedByRole } val isBackgroundGrantedByRole = permissions.any { backgroundPermNames.contains(it.key) && it.value.isGrantedByRole } /** * Whether any permissions in this group are granted by default (pregrant) */ val isGrantedByDefault = foreground.isGrantedByDefault || background.isGrantedByDefault /** * Whether this App Permission Subgroup's permissions are fixed by the user * Whether any permissions in this group are granted by being a role holder */ val isUserFixed = permissions.any { it.value.isUserFixed } val isGrantedByRole = foreground.isGrantedByRole || background.isGrantedByRole /** * A subset of the AppPermssionGroup, representing either the background or foreground permissions Loading @@ -148,6 +133,11 @@ data class LightAppPermGroup( */ val isSystemFixed = permissions.any { it.value.isSystemFixed } /** * Whether this App Permission Group's permissions are fixed by the user */ val isUserFixed = permissions.any { it.value.isUserFixed } /** * Whether any of this App Permission SubGroup's permissions are granted */ Loading @@ -157,15 +147,10 @@ data class LightAppPermGroup( * Whether any of this App Permission SubGroup's permissions are granted by default */ val isGrantedByDefault = permissions.any { it.value.isGrantedByDefault } } /** * Whether any permissions in this group are granted by default (pregrant) */ val isGrantedByDefault = isForegroundGrantedByDefault || isBackgroundGrantedByDefault /** * Whether any permissions in this group are granted by being a role holder * Whether any of this App Permission SubGroup's permissions are granted by their role */ val isGrantedByRole = isForegroundGrantedByRole || isBackgroundGrantedByRole val isGrantedByRole = permissions.any { it.value.isGrantedByRole } } } No newline at end of file
src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionViewModel.kt +7 −6 Original line number Diff line number Diff line Loading @@ -174,8 +174,9 @@ class AppPermissionViewModel( group.foreground.isGranted allowedForegroundState.isChecked = group.foreground.isGranted && !group.background.isGranted && !group.isOneTime askState.isChecked = !group.foreground.isGranted && !group.isUserFixed deniedState.isChecked = !group.foreground.isGranted && group.isUserFixed val groupUserFixed = group.foreground.isUserFixed || group.background.isUserFixed askState.isChecked = !group.foreground.isGranted && !groupUserFixed deniedState.isChecked = !group.foreground.isGranted && groupUserFixed if (applyFixToForegroundBackground(group, group.foreground.isSystemFixed, group.background.isSystemFixed, allowedAlwaysState, Loading @@ -200,8 +201,8 @@ class AppPermissionViewModel( allowedState.isShown = true allowedState.isChecked = group.foreground.isGranted askState.isChecked = !group.foreground.isGranted && !group.isUserFixed deniedState.isChecked = !group.foreground.isGranted && group.isUserFixed askState.isChecked = !group.foreground.isGranted && !group.foreground.isUserFixed deniedState.isChecked = !group.foreground.isGranted && group.foreground.isUserFixed if (group.foreground.isPolicyFixed || group.foreground.isSystemFixed) { allowedState.isEnabled = false Loading Loading @@ -420,7 +421,7 @@ class AppPermissionViewModel( var newGroup = group val oldGroup = group if (shouldChangeForeground && (wasForegroundGranted || userFixed != group.isUserFixed)) { (wasForegroundGranted || userFixed != group.foreground.isUserFixed)) { newGroup = KotlinUtils.revokeForegroundRuntimePermissions(app, newGroup, userFixed) Loading @@ -431,7 +432,7 @@ class AppPermissionViewModel( } } if (shouldChangeBackground && group.hasBackgroundGroup && (wasBackgroundGranted || userFixed != group.isUserFixed)) { (wasBackgroundGranted || userFixed != group.background.isUserFixed)) { newGroup = KotlinUtils.revokeBackgroundRuntimePermissions(app, newGroup, userFixed) Loading