mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Handle SecurityException in case of multi-upload
This commit is contained in:
parent
970d38ecc2
commit
556952e3b1
1 changed files with 17 additions and 4 deletions
|
|
@ -12,6 +12,7 @@ import androidx.preference.PreferenceManager
|
|||
import fr.free.nrw.commons.customselector.model.Image
|
||||
import fr.free.nrw.commons.customselector.ui.selector.CustomSelectorActivity
|
||||
import fr.free.nrw.commons.filepicker.PickedFiles.singleFileList
|
||||
import timber.log.Timber
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import java.net.URISyntaxException
|
||||
|
|
@ -296,10 +297,22 @@ object FilePicker : Constants {
|
|||
* https://github.com/commons-app/apps-android-commons/issues/6357
|
||||
*/
|
||||
private fun takePersistableUriPermissions(context: Context, result: ActivityResult) {
|
||||
result.data?.data?.also { uri ->
|
||||
val takeFlags: Int = (Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||
or Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
|
||||
context.contentResolver.takePersistableUriPermission(uri, takeFlags)
|
||||
val intent = result.data
|
||||
val takeFlags: Int = (Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||
or Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
|
||||
intent?.let {
|
||||
val urisToPersist = mutableListOf<Uri>()
|
||||
it.clipData?.let { clipData ->
|
||||
for (i in 0 until clipData.itemCount) {
|
||||
urisToPersist.add(clipData.getItemAt(i).uri)
|
||||
}
|
||||
} ?: it.data?.let { uri ->
|
||||
urisToPersist.add(uri)
|
||||
}
|
||||
|
||||
urisToPersist.forEach { uri ->
|
||||
context.contentResolver.takePersistableUriPermission(uri, takeFlags)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue