dpa99c / cordova-diagnostic-plugin

Cordova/Phonegap plugin to manage device settings
539 stars 361 forks source link

Android: direct getExternalSdCardDetails without permission request #501

Closed ath0mas closed 1 year ago

ath0mas commented 1 year ago

PR Type

What kind of change does this PR introduce?

PR Checklist

For bug fixes / features, please check if your PR fulfills the following requirements:

What is the purpose of this PR?

Listing the external SD cards is currently asking for permissions. But the SDK 33 permission change made me look more into this, as asking for MEDIA related permissions seems strange. This permission request has been removed as tests confirm that all SD cards are correctly fetched without them in various Android versions.

Does this PR introduce a breaking change?

What testing has been done on the changes in the PR?

What testing has been done on existing functionality?

Built a testApp with targetSDK 33, installed on emulators API 28, 29, 30, 32, and 33, Then I checked the SD cards listing is returning correct values, no error, and without asking for any permission.

Other information

Tests done in the context of https://github.com/apache/cordova-plugin-file/pull/597.

penguin86 commented 1 year ago

This should really be merged. The current release (7.1.4) fails with this error:

Exception occurred: Permission READ_EXTERNAL_STORAGE not supported for build SDK version 33

in _getPermissionsAuthorizationStatus() due to the READ_EXTERNAL_STORAGE permission being removed from Android 13 (API 33). Using this version, instead, works flawlessly.