mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 03:59:35 +01:00
Ask for READ_EXTERNAL_STORAGE permsssion for API level 30
Since API level 30 the WRITE_EXTERNAL_STORAGE permission will be ignored. Instead the READ_EXTERNAL_STORAGE permission must be used. See: https://developer.android.com/training/data-storage Signed-off-by: Tim Krüger <t@timkrueger.me>
This commit is contained in:
parent
b5960f9b97
commit
5cacf7767d
@ -213,31 +213,64 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
|||||||
const val META_DATA = "META_DATA"
|
const val META_DATA = "META_DATA"
|
||||||
|
|
||||||
fun isStoragePermissionGranted(context: Context): Boolean {
|
fun isStoragePermissionGranted(context: Context): Boolean {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
when {
|
||||||
return if (PermissionChecker.checkSelfPermission(
|
Build.VERSION.SDK_INT > 29 -> {
|
||||||
context,
|
return if (PermissionChecker.checkSelfPermission(
|
||||||
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
context, Manifest.permission
|
||||||
) == PermissionChecker.PERMISSION_GRANTED
|
.READ_EXTERNAL_STORAGE
|
||||||
) {
|
) == PermissionChecker.PERMISSION_GRANTED
|
||||||
Log.d(TAG, "Permission is granted")
|
) {
|
||||||
true
|
Log.d(TAG, "Permission is granted (SDK 30 or greater)")
|
||||||
} else {
|
true
|
||||||
Log.d(TAG, "Permission is revoked")
|
} else {
|
||||||
false
|
Log.d(TAG, "Permission is revoked (SDK 30 or greater)")
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M -> {
|
||||||
|
return if (PermissionChecker.checkSelfPermission(
|
||||||
|
context,
|
||||||
|
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||||
|
) == PermissionChecker.PERMISSION_GRANTED
|
||||||
|
) {
|
||||||
|
Log.d(TAG, "Permission is granted")
|
||||||
|
true
|
||||||
|
} else {
|
||||||
|
Log.d(TAG, "Permission is revoked")
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else -> { // permission is automatically granted on sdk<23 upon installation
|
||||||
|
Log.d(TAG, "Permission is granted")
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
} else { // permission is automatically granted on sdk<23 upon installation
|
|
||||||
Log.d(TAG, "Permission is granted")
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun requestStoragePermission(controller: Controller) {
|
fun requestStoragePermission(controller: Controller) {
|
||||||
controller.requestPermissions(
|
|
||||||
arrayOf(
|
|
||||||
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
when {
|
||||||
),
|
Build.VERSION.SDK_INT > 29 -> {
|
||||||
REQUEST_PERMISSION
|
controller.requestPermissions(
|
||||||
)
|
arrayOf(
|
||||||
|
Manifest.permission.READ_EXTERNAL_STORAGE
|
||||||
|
),
|
||||||
|
REQUEST_PERMISSION
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M -> {
|
||||||
|
controller.requestPermissions(
|
||||||
|
arrayOf(
|
||||||
|
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||||
|
),
|
||||||
|
REQUEST_PERMISSION
|
||||||
|
)
|
||||||
|
}
|
||||||
|
else -> { // permission is automatically granted on sdk<23 upon installation
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user