Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New permission groups #124

Closed
d4rken opened this issue Jul 30, 2022 · 8 comments · Fixed by #129
Closed

New permission groups #124

d4rken opened this issue Jul 30, 2022 · 8 comments · Fixed by #129
Labels
help/discussion wanted Extra attention is needed question Further information is requested

Comments

@d4rken
Copy link
Member

d4rken commented Jul 30, 2022

This are the group we currently have:
https://github.com/d4rken-org/permission-pilot/blob/main/app/src/main/java/eu/darken/myperm/permissions/core/known/APermGrp.kt

Each permission can be in 0-N groups:

object BLUETOOTH_SCAN : APerm("android.permission.BLUETOOTH_SCAN"), CommonPerm, Highlighted {
override val iconRes: Int = R.drawable.ic_baseline_bluetooth_24
override val groupIds: Set<PermissionGroup.Id> = grpIds(APermGrp.Connectivity, APermGrp.Location)
}

Do we need more? Do we need less?
e.g. currently microphone and camera is in the group "sensors" along with "BODY_SENSORS".
Should there be an extra "Camera group" just with 1 permission?
A "Recording" group with camera + microphone?
What about other audio from device sources being captured?

The "Apps" Category is also pretty big, can we find new categories for subsets that make sense?

Bluetooth, Wifi and LTE all in a "Connectivity" category or should there be a whole category just for Bluetooth and one just for Wifi.

Every permission without a category automatically lands in the OTHER category.

Screenshot from 2022-07-30 14-07-21

@d4rken d4rken added help/discussion wanted Extra attention is needed question Further information is requested labels Jul 30, 2022
@TheRealMystic
Copy link
Collaborator

TheRealMystic commented Jul 30, 2022

On my OnePlus phone, the number of entries in the Permissions Tab have shot up from 690 to 1,573. This is more than double. Are the entries getting duplicated?

If I filter just the Core permissions, it is showing the count as before at 690.

If I filter what you call 'Common Permissions', the number is just 52.

I guess we are using different terminologies here. Number of Core permissions cannot be higher than Common permissions, logically speaking. You may want to take a look at the terminology again.

As with the 'Others' category, you can right away create a new category called Special Access and put the following permissions into it:

Screenshot_20220728-203740_Settings

The rest can remain under 'Others' until we find more suitable classifications.

@TheRealMystic
Copy link
Collaborator

If you can show me how to reclassify a permission, i can do it for the rest.

@d4rken
Copy link
Member Author

d4rken commented Jul 30, 2022

A core permission is a permission that is defined by one of the AOSP permission groups. Around 700 for me.

Additionally there may be permissions declared by other system apps, e.g. from Samsung. Around 300 for me.

Finally there are custom permissions defined by user apps. Around 400 for me.

A "common" permission is just that, common. E.g. the camera permission is common, "permission.BIND_DREAM_STATE" is not. Basically a way to hide uncommon permissions that may only be interesting to advanced users.

@d4rken
Copy link
Member Author

d4rken commented Jul 30, 2022

I don't think we need special access. Isn't this what we are trying to solve?

E.g. the WiFi Control special access permission should be with the other WiFi permissions (currently under connectivity).

All file access should be with write/manage storage.

@d4rken
Copy link
Member Author

d4rken commented Jul 30, 2022

The Core filter might not be too useful. I'm thinking

And then 3 filter that define the "type":

  • Runtime permission: User gets popup
  • Special access: User has to go to some system screen
  • Granted by default: Apps just get these under thread of Google Play sanctions

That should cover the most common scenarios? The user can still search everything too.

The groups that we have give the user a less cluttered view, so they dont have to view 600 permissions if they are looking for something related to connectivity, they can just open that group. Maybe group is the wrong word. Maybe we name it category?
They don't have many duplicates either, I think currently it's only the BLUETOOTH_SCAN permission that is both "connectivity" and "location".

@TheRealMystic
Copy link
Collaborator

TheRealMystic commented Jul 30, 2022

I don't think we need special access. Isn't this what we are trying to solve?

No. This is not what we are trying to solve.

E.g. the WiFi Control special access permission should be with the other WiFi permissions (currently under connectivity).

All file access should be with write/manage storage.

Going back to the Origin story, what we set out to make was an app that puts all scattered permissions in one place, that will give an overview of all permissions from a single page.

We don't want to group/ categorise permissions any differently than how Google implements it, because that would mean a new learning curve for the user. All we want to do is present them all in a single page that makes it easy to view them.

For example, 'Install from Unknown Sources' shows up under Special Access in OneUI and all versions of Oxygen OS, upto version 11. In Oxygen OS 12, they moved that under Security Settings. I'm pretty sure the implementation could be different in other OEM or Custom ROMs too.

But whatever it is, the idea here is to put them all in one page, so users don't have to navigate to different pages each time. People are familiar with some of the terms used, and it would be best to stick to those, something I have been repeatedly insisting.

I feel you are losing the perspective of the average user, who doesn't see things the way you do. Even I'm not clear on what exactly you are trying to say in the comments above. They are pretty technical, and not for everyone.

My Samsung phone shows 917 'core' permissions. But users get to configure only about 30 or so. As such, they are interested in just those.

I have given you a nice alternative in #125 , which I'm sure should be straightforward to implement. You won't also have the headache of determining how to classify a permission.

No matter how you implement this, #125 will offer a simplified way for every user to customise what he wants to see.

@d4rken
Copy link
Member Author

d4rken commented Jul 30, 2022

User don't know what "special access" is. No one will open permission pilot to then find the special usage category and then do something there. They either go: app they are interest in > permission.

Or they want to know which apps can create unknown files on their storage, then they will check permissions > Files category.
Now if we spread unrelated permission into "special usage" then the user has to look into two places again (or even be aware that other file related permission may be in "special usage").

My Samsung phone shows 917 'core' permissions. But users get to configure only about 30 or so. As such, they are interested in just those.

Yes that is what I wrote above, I'll change the filters.

I feel you are losing the perspective of the average user, who doesn't see things the way you do. Even I'm not clear on what exactly you are trying to say in the comments above. They are pretty technical, and not for everyone.

The average user won't go around "favoring permissions" with custom labels.

@TheRealMystic
Copy link
Collaborator

User don't know what "special access" is. No one will open permission pilot to then find the special usage category and then do something there. They either go: app they are interest in > permission.

Or they want to know which apps can create unknown files on their storage, then they will check permissions > Files category.
Now if we spread unrelated permission into "special usage" then the user has to look into two places again (or even be aware that other file related permission may be in "special usage").

On v0.6.0, if I filter only 'Core permissions', about 604 (out of 690) permissions are showing under 'Others'. My suggestion to create a new group called 'Special Access' was to make it easier for the user to find those permissions that Google calls 'Special Access' under System Settings. This will take some 15 permissions (permission groups) or so out of 'Others' and put them under 'Special Access', which the user is familiar with. User will now be able to find these permissions easily, instead of going through 600 entries or so.

This has nothing to do with the new method that you are planning to implement.

The average user won't go around "favoring permissions" with custom labels.

This has been addressed here: #125 (comment)

@d4rken d4rken linked a pull request Jul 31, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help/discussion wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants