Skip to content

Commit b5e9287

Browse files
committed
add READ_MEDIA_VISUAL_USER_SELECTED
Signed-off-by: alperozturk <[email protected]>
1 parent 7e54681 commit b5e9287

File tree

2 files changed

+31
-19
lines changed

2 files changed

+31
-19
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,6 @@
1717
android:name="android.hardware.camera2"
1818
android:required="false"
1919
tools:node="replace" />
20-
<!--
21-
WRITE_EXTERNAL_STORAGE may be enabled or disabled by the user after installation in
22-
API >= 23; the app needs to handle this
23-
-->
24-
<uses-permission
25-
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
26-
android:maxSdkVersion="29"
27-
tools:ignore="ScopedStorage" />
28-
<uses-permission
29-
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
30-
tools:ignore="ScopedStorage" />
31-
<uses-permission
32-
android:name="android.permission.READ_EXTERNAL_STORAGE"
33-
android:maxSdkVersion="32" />
3420
<uses-permission android:name="android.permission.CAMERA" />
3521
<uses-permission android:name="android.permission.VIBRATE" /> <!-- Next permissions are always approved in installation time, the apps needs to do nothing special in runtime -->
3622
<uses-permission android:name="android.permission.INTERNET" />
@@ -52,11 +38,32 @@
5238
Apps that target Android 9 (API level 28) or higher and use foreground services
5339
must request the FOREGROUND_SERVICE permission
5440
-->
55-
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- Runtime permissions introduced in Android 13 (API level 33) -->
56-
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
57-
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <!-- Needed for Android 14 (API level 34) -->
5841
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
5942
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
43+
44+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
45+
46+
47+
<!-- WRITE_EXTERNAL_STORAGE may be enabled or disabled by the user after installation in API >= 23; the app needs to handle this-->
48+
<uses-permission
49+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
50+
android:maxSdkVersion="29"
51+
tools:ignore="ScopedStorage" />
52+
53+
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage" />
54+
55+
<!-- Devices running Android 12L (API level 32) or lower -->
56+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
57+
58+
<!-- Devices running Android 13 (API level 33) or higher -->
59+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
60+
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
61+
62+
<!-- To handle the reselection within the app on devices running Android 14
63+
or higher if your app targets Android 14 (API level 34) or higher. -->
64+
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />
65+
66+
6067
<!--
6168
Some Chromebooks don't support touch. Although not essential,
6269
it's a good idea to explicitly include this declaration.

app/src/main/java/com/owncloud/android/utils/PermissionUtil.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,19 @@ object PermissionUtil {
140140
}
141141

142142
private fun getStoragePermissions() = when {
143+
Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE -> arrayOf(
144+
Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED,
145+
Manifest.permission.READ_MEDIA_IMAGES,
146+
Manifest.permission.READ_MEDIA_VIDEO
147+
)
143148
Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> arrayOf(
144149
Manifest.permission.READ_MEDIA_IMAGES,
145150
Manifest.permission.READ_MEDIA_VIDEO
146151
)
147-
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> arrayOf(
152+
else -> arrayOf(
153+
Manifest.permission.WRITE_EXTERNAL_STORAGE,
148154
Manifest.permission.READ_EXTERNAL_STORAGE
149155
)
150-
else -> arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE)
151156
}
152157

153158
private fun requestPermissions(activity: Activity, permissions: Array<String>) {

0 commit comments

Comments
 (0)