mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Take persistable permissions for images shared directly from Gallery apps
This commit is contained in:
parent
219fcd3dd8
commit
88d6f23dcb
1 changed files with 5 additions and 4 deletions
|
|
@ -208,6 +208,7 @@ object FilePicker : Constants {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun handleExternalImagesPicked(data: Intent?, activity: Activity): List<UploadableFile> {
|
fun handleExternalImagesPicked(data: Intent?, activity: Activity): List<UploadableFile> {
|
||||||
return try {
|
return try {
|
||||||
|
takePersistableUriPermissions(activity, data)
|
||||||
getFilesFromGalleryPictures(data, activity)
|
getFilesFromGalleryPictures(data, activity)
|
||||||
} catch (e: IOException) {
|
} catch (e: IOException) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
|
|
@ -273,7 +274,7 @@ object FilePicker : Constants {
|
||||||
callbacks: Callbacks
|
callbacks: Callbacks
|
||||||
) {
|
) {
|
||||||
if (result.resultCode == Activity.RESULT_OK && !isPhoto(result.data)) {
|
if (result.resultCode == Activity.RESULT_OK && !isPhoto(result.data)) {
|
||||||
takePersistableUriPermissions(activity, result)
|
takePersistableUriPermissions(activity, result.data)
|
||||||
try {
|
try {
|
||||||
val files = getFilesFromGalleryPictures(result.data, activity)
|
val files = getFilesFromGalleryPictures(result.data, activity)
|
||||||
callbacks.onImagesPicked(files, ImageSource.DOCUMENTS, restoreType(activity))
|
callbacks.onImagesPicked(files, ImageSource.DOCUMENTS, restoreType(activity))
|
||||||
|
|
@ -295,8 +296,8 @@ object FilePicker : Constants {
|
||||||
* This helps fix the SecurityException reported in this issue:
|
* This helps fix the SecurityException reported in this issue:
|
||||||
* https://github.com/commons-app/apps-android-commons/issues/6357
|
* https://github.com/commons-app/apps-android-commons/issues/6357
|
||||||
*/
|
*/
|
||||||
private fun takePersistableUriPermissions(context: Context, result: ActivityResult) {
|
private fun takePersistableUriPermissions(context: Context, data: Intent?) {
|
||||||
result.data?.let { intentData ->
|
data?.let { intentData ->
|
||||||
val takeFlags: Int = (Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
val takeFlags: Int = (Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||||
// Persist the URI permission for all URIs in the clip data
|
// Persist the URI permission for all URIs in the clip data
|
||||||
// if multiple images are selected,
|
// if multiple images are selected,
|
||||||
|
|
@ -367,7 +368,7 @@ object FilePicker : Constants {
|
||||||
callbacks: Callbacks
|
callbacks: Callbacks
|
||||||
) {
|
) {
|
||||||
if (result.resultCode == Activity.RESULT_OK && !isPhoto(result.data)) {
|
if (result.resultCode == Activity.RESULT_OK && !isPhoto(result.data)) {
|
||||||
takePersistableUriPermissions(activity, result)
|
takePersistableUriPermissions(activity, result.data)
|
||||||
try {
|
try {
|
||||||
val files = getFilesFromGalleryPictures(result.data, activity)
|
val files = getFilesFromGalleryPictures(result.data, activity)
|
||||||
callbacks.onImagesPicked(files, ImageSource.GALLERY, restoreType(activity))
|
callbacks.onImagesPicked(files, ImageSource.GALLERY, restoreType(activity))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue