{"action":"created","issue":{"url":"https://api.github.com/repos/open-keychain/open-keychain/issues/1571","labels_url":"https://api.github.com/repos/open-keychain/open-keychain/issues/1571/labels{/name}","comments_url":"https://api.github.com/repos/open-keychain/open-keychain/issues/1571/comments","events_url":"https://api.github.com/repos/open-keychain/open-keychain/issues/1571/events","html_url":"https://github.com/open-keychain/open-keychain/issues/1571","id":113451155,"number":1571,"title":"Check Android 6 permissions","user":{"login":"dschuermann","id":321888,"avatar_url":"https://avatars.githubusercontent.com/u/321888?v=3","gravatar_id":"","url":"https://api.github.com/users/dschuermann","html_url":"https://github.com/dschuermann","followers_url":"https://api.github.com/users/dschuermann/followers","following_url":"https://api.github.com/users/dschuermann/following{/other_user}","gists_url":"https://api.github.com/users/dschuermann/gists{/gist_id}","starred_url":"https://api.github.com/users/dschuermann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dschuermann/subscriptions","organizations_url":"https://api.github.com/users/dschuermann/orgs","repos_url":"https://api.github.com/users/dschuermann/repos","events_url":"https://api.github.com/users/dschuermann/events{/privacy}","received_events_url":"https://api.github.com/users/dschuermann/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/open-keychain/open-keychain/labels/discussion","name":"discussion","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/open-keychain/open-keychain/milestones/23","html_url":"https://github.com/open-keychain/open-keychain/milestones/OpenKeychain%203.7","labels_url":"https://api.github.com/repos/open-keychain/open-keychain/milestones/23/labels","id":1378147,"number":23,"title":"OpenKeychain 3.7","description":"","creator":{"login":"dschuermann","id":321888,"avatar_url":"https://avatars.githubusercontent.com/u/321888?v=3","gravatar_id":"","url":"https://api.github.com/users/dschuermann","html_url":"https://github.com/dschuermann","followers_url":"https://api.github.com/users/dschuermann/followers","following_url":"https://api.github.com/users/dschuermann/following{/other_user}","gists_url":"https://api.github.com/users/dschuermann/gists{/gist_id}","starred_url":"https://api.github.com/users/dschuermann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dschuermann/subscriptions","organizations_url":"https://api.github.com/users/dschuermann/orgs","repos_url":"https://api.github.com/users/dschuermann/repos","events_url":"https://api.github.com/users/dschuermann/events{/privacy}","received_events_url":"https://api.github.com/users/dschuermann/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":1,"state":"open","created_at":"2015-10-26T21:05:20Z","updated_at":"2015-11-02T18:31:27Z","due_on":"2015-12-30T23:00:00Z","closed_at":null},"comments":1,"created_at":"2015-10-26T21:05:03Z","updated_at":"2015-11-02T18:47:15Z","closed_at":null,"body":"We are now targeting SDK 23, thus we need to handle runtime permissions on our own.\r\nThere are some libraries with helper classes/annotations but I am not sure yet if we should use them."},"comment":{"url":"https://api.github.com/repos/open-keychain/open-keychain/issues/comments/153121650","html_url":"https://github.com/open-keychain/open-keychain/issues/1571#issuecomment-153121650","issue_url":"https://api.github.com/repos/open-keychain/open-keychain/issues/1571","id":153121650,"user":{"login":"dschuermann","id":321888,"avatar_url":"https://avatars.githubusercontent.com/u/321888?v=3","gravatar_id":"","url":"https://api.github.com/users/dschuermann","html_url":"https://github.com/dschuermann","followers_url":"https://api.github.com/users/dschuermann/followers","following_url":"https://api.github.com/users/dschuermann/following{/other_user}","gists_url":"https://api.github.com/users/dschuermann/gists{/gist_id}","starred_url":"https://api.github.com/users/dschuermann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dschuermann/subscriptions","organizations_url":"https://api.github.com/users/dschuermann/orgs","repos_url":"https://api.github.com/users/dschuermann/repos","events_url":"https://api.github.com/users/dschuermann/events{/privacy}","received_events_url":"https://api.github.com/users/dschuermann/received_events","type":"User","site_admin":false},"created_at":"2015-11-02T18:47:14Z","updated_at":"2015-11-02T18:47:14Z","body":"We need to handle the following permissions:\r\n\r\n* CAMERA: Done in https://github.com/open-keychain/open-keychain/commit/ccdfd55f61456baf11bcc0cf30460b75cd699403 . I don't think we need an explanation here. When the user wants to scan QR Codes, this is expected.\r\n\r\n* Storage group (WRITE_EXTERNAL_PERMISSION): In my tests on Android 6, OpenKeychain still fully works with this disabled. I think we only need this one on Android < 4.4 for saving backups. On Android >= 4.4 we always use the ACTION_OPEN_DOCUMENT everywhere. Is this right???\r\n\r\n* Contacts group: Needs to be handled. My proposal is to ask the user to enable automatic key update and contact linking on OpenKeychain's first start with both switches disabled (https://github.com/open-keychain/open-keychain/issues/1492). When the user switches the controls, we should directly ask for the permissions. If the user revokes these later, we can detect this on start of the service. If they are revoked we can simply disable automatic key sync and contact linking in the preferences. Maybe showing a notification that redirects the user to the preferences screen similar to the first start screen. Comments/Feedack?\r\n\r\n@Valodim @adithyaphilip "}}