This is the main reason I root my phone and use XPrivacy. After using XPrivacy, Android permission seems stupid. I can't go back to that.
* Bunch of permissions are grouped together into CATEGORIES and the app gets all if I allow that category.
You can update permissions on types of notifications, location, storage, contacts etc. all independently of each other. O is great for that and I assume P will only be better.
* Give an app access to only save, not read my photos * Give an app ability to read one specific photo (think upload a photo to facebook) * Take pictures without always having access to the camera.
That is fine grained.
You just choose to use apps which instead request you give them permissions to whole photo storage.
Saying that I can just choose to use apps that do it "the right way" is the same as saying "you can just not use a smart phone". I can see the value in smart phones and in popular apps. What I'm asking for it a pragmatic choice where the OS puts me in charge, because it's not working to just ask the developers to play nicely.
> Encryption of specific secrets for each app
Not sure what you mean by this, but apps are already sandboxed and can't access each other's data. What specific threat are you trying to protect against?
> Fine grained control of what information is shared with apps
Already exists.
> Ability to selectively deny particular data (and have the app keep working, e.g by giving it an empty contacts list, fake phone ID, etc)
Already exists. Not with fake data though; you just deny the permission and the app has to deal with it.
> Ad and js blocking capable browser
There already are _several_ browsers on Android that do that. Unless you mean you want it in Chrome specifically?
> Why should installing e.g. the facebook app, allow it to track my position at all times?
It doesn't. That only occurs when you grant it the location permission.