don't attempt to figure out file path on Android 11+

Daniel Gultsch created

fixes #117

Change summary

src/main/java/eu/siacs/conversations/persistance/FileBackend.java | 9 
src/main/java/eu/siacs/conversations/utils/FileUtils.java         | 4 
2 files changed, 8 insertions(+), 5 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/persistance/FileBackend.java πŸ”—

@@ -648,8 +648,13 @@ public class FileBackend {
         }
     }
 
-    public String getOriginalPath(Uri uri) {
-        return FileUtils.getPath(mXmppConnectionService, uri);
+    public String getOriginalPath(final Uri uri) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+            // On Android 11+ we don’t have access to the original file
+            return null;
+        } else {
+            return FileUtils.getPath(mXmppConnectionService, uri);
+        }
     }
 
     private void copyFileToPrivateStorage(File file, Uri uri) throws FileCopyException {

src/main/java/eu/siacs/conversations/utils/FileUtils.java πŸ”—

@@ -34,10 +34,8 @@ public class FileUtils {
 			return null;
 		}
 
-		final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
-
 		// DocumentProvider
-		if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
+		if (DocumentsContract.isDocumentUri(context, uri)) {
 			// ExternalStorageProvider
 			if (isExternalStorageDocument(uri)) {
 				final String docId = DocumentsContract.getDocumentId(uri);