Fix permissions issue on Android 13
This commit is contained in:
parent
366410e31c
commit
1d6b3c47e7
@ -7,7 +7,6 @@
|
|||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
|
||||||
<uses-permission android:name="android.permission.CAMERA" />
|
<uses-permission android:name="android.permission.CAMERA" />
|
||||||
|
|
||||||
<uses-feature
|
<uses-feature
|
||||||
|
@ -9,6 +9,7 @@ import android.content.pm.PackageManager
|
|||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.MediaStore
|
import android.provider.MediaStore
|
||||||
import android.util.DisplayMetrics
|
import android.util.DisplayMetrics
|
||||||
@ -204,14 +205,19 @@ class CameraFragment : BaseFragment() {
|
|||||||
// Update gallery thumbnail
|
// Update gallery thumbnail
|
||||||
if (ContextCompat.checkSelfPermission(
|
if (ContextCompat.checkSelfPermission(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
Manifest.permission.READ_EXTERNAL_STORAGE
|
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) Manifest.permission.READ_MEDIA_IMAGES
|
||||||
|
else Manifest.permission.READ_EXTERNAL_STORAGE
|
||||||
) == PackageManager.PERMISSION_GRANTED
|
) == PackageManager.PERMISSION_GRANTED
|
||||||
) {
|
) {
|
||||||
updateGalleryThumbnail()
|
updateGalleryThumbnail()
|
||||||
}
|
}
|
||||||
else if (!filePermissionDialogLaunched) {
|
else if (!filePermissionDialogLaunched) {
|
||||||
// Ask for external storage permission.
|
// Ask for external storage permission.
|
||||||
updateGalleryThumbnailPermissionLauncher.launch(Manifest.permission.READ_EXTERNAL_STORAGE)
|
updateGalleryThumbnailPermissionLauncher.launch(
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
|
Manifest.permission.READ_MEDIA_IMAGES
|
||||||
|
} else Manifest.permission.READ_EXTERNAL_STORAGE
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
cameraLifecycleOwner.resume()
|
cameraLifecycleOwner.resume()
|
||||||
@ -273,14 +279,14 @@ class CameraFragment : BaseFragment() {
|
|||||||
// Find the last picture
|
// Find the last picture
|
||||||
val projection = arrayOf(
|
val projection = arrayOf(
|
||||||
MediaStore.Images.ImageColumns._ID,
|
MediaStore.Images.ImageColumns._ID,
|
||||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) MediaStore.Images.ImageColumns.DATE_TAKEN
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) MediaStore.Images.ImageColumns.DATE_TAKEN
|
||||||
else MediaStore.Images.ImageColumns.DATE_MODIFIED,
|
else MediaStore.Images.ImageColumns.DATE_MODIFIED,
|
||||||
)
|
)
|
||||||
val cursor = requireContext().contentResolver
|
val cursor = requireContext().contentResolver
|
||||||
.query(
|
.query(
|
||||||
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null,
|
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null,
|
||||||
null,
|
null,
|
||||||
(if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) MediaStore.Images.ImageColumns.DATE_TAKEN
|
(if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) MediaStore.Images.ImageColumns.DATE_TAKEN
|
||||||
else MediaStore.Images.ImageColumns.DATE_MODIFIED) + " DESC"
|
else MediaStore.Images.ImageColumns.DATE_MODIFIED) + " DESC"
|
||||||
)
|
)
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user