cordova-plugin-file icon indicating copy to clipboard operation
cordova-plugin-file copied to clipboard

Android!: allow read-write to app dirs in media dirs and on external sdcards too

Open ath0mas opened this issue 2 years ago • 0 comments
trafficstars

Platforms affected

Android

Motivation and Context

Reading and writing to app dirs onto external SD cards works fine without any permission. Same was done for external media directories, on primary non-removable storage, and others on removable ones.

Description

Reading and writing to app dirs onto external SD cards is currently asking for permissions, *_EXTERNAL_STORAGE or more recently READ_MEDIA_*. The SDK 33 permission change made me look more into this, as asking for MEDIA related permissions seems strange. With this PR, app dirs on external SD cards are excluded from this requirement ; even if browsing among directories, some of which are still outside of the allowed list, continue to ask for sort of unrelated permissions most of the time I think. While it may indeed be useful if the target files really are "media".

Testing

Built a testApp with targetSDK 33, installed on emulators API 28, 29, 30, 32, and 33, Then I checked both READ and WRITE inside app dirs of internal, external, and external sd cards storage paths: operations run fine, and without asking for any permission. Similar operations but for files outside of the allowed list still require permissions.

Checklist

  • [ ] I've run the tests to see all new and existing tests pass
  • [ ] I added automated test coverage as appropriate for this change
  • [x] Commit is prefixed with (platform) if this change only applies to one platform (e.g. (android))
  • [ ] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct keyword to close issues using keywords)
  • [x] I've updated the documentation if necessary

ath0mas avatar Aug 24 '23 22:08 ath0mas