summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdolfo Santiago <epoch@nixnetmail.com>2023-02-16 20:43:59 +0100
committerAdolfo Santiago <epoch@nixnetmail.com>2023-02-16 20:43:59 +0100
commit25b823baadab61fe671d3acba494f2525bbd6cc3 (patch)
tree4979be86e2bb745987a535d4965f0c0eff9b4f94
parent85554c5d8408bde998af9497a70716f19b9274d9 (diff)
Fix permissions to upload images for the profilefix_upload_profile_images
-rw-r--r--husky/app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt30
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 {