diff options
author | Adolfo Santiago <epoch@nixnetmail.com> | 2023-02-16 20:43:59 +0100 |
---|---|---|
committer | Adolfo Santiago <epoch@nixnetmail.com> | 2023-02-16 20:43:59 +0100 |
commit | 25b823baadab61fe671d3acba494f2525bbd6cc3 (patch) | |
tree | 4979be86e2bb745987a535d4965f0c0eff9b4f94 | |
parent | 85554c5d8408bde998af9497a70716f19b9274d9 (diff) |
Fix permissions to upload images for the profilefix_upload_profile_images
-rw-r--r-- | husky/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/husky/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt b/husky/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt index c763bc6..0e844a1 100644 --- a/husky/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt +++ b/husky/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt @@ -27,6 +27,8 @@ import android.content.pm.PackageManager import android.graphics.Bitmap import android.graphics.Color import android.net.Uri +import android.os.Build.VERSION +import android.os.Build.VERSION_CODES import android.os.Bundle import android.view.Menu import android.view.MenuItem @@ -269,14 +271,28 @@ class EditProfileActivity : BaseActivity() { } currentlyPicking = pickType - if (ContextCompat.checkSelfPermission( - this, - Manifest.permission.READ_EXTERNAL_STORAGE - ) != PackageManager.PERMISSION_GRANTED - ) { + + val askForPermissions = if (VERSION.SDK_INT >= VERSION_CODES.TIRAMISU) { + arrayOf( + Manifest.permission.READ_MEDIA_IMAGES, + Manifest.permission.READ_MEDIA_VIDEO, + Manifest.permission.READ_MEDIA_AUDIO + ) + } else { + arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE) + } + + val permissions = askForPermissions.mapNotNull { permission -> + permission.takeIf { + ContextCompat.checkSelfPermission(this@EditProfileActivity, it) == + PackageManager.PERMISSION_DENIED + } + }.toTypedArray() + + if (permissions.isNotEmpty()) { ActivityCompat.requestPermissions( - this, - arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), + this@EditProfileActivity, + permissions, PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE ) } else { |