Skip to content

Commit 5d09e67

Browse files
committed
fix crash on unknown MediaType
1 parent c9fb597 commit 5d09e67

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

app/src/main/java/co/tinode/tindroid/UiUtils.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1169,7 +1169,7 @@ static String[] parseTags(final String tagList) {
11691169
}
11701170

11711171
// Find path to content: DocumentProvider, DownloadsProvider, MediaProvider, MediaStore, File.
1172-
static String getContentPath(Context context, Uri uri) {
1172+
static String getContentPath(@NonNull Context context, @NonNull Uri uri) {
11731173
// DocumentProvider
11741174
if (DocumentsContract.isDocumentUri(context, uri)) {
11751175
final String docId = DocumentsContract.getDocumentId(uri);
@@ -1231,15 +1231,19 @@ static String getContentPath(Context context, Uri uri) {
12311231
} else if ("audio".equals(type)) {
12321232
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
12331233
}
1234-
final String selection = "_id=?";
1235-
final String[] selectionArgs = new String[]{split[1]};
1236-
return getResolverData(context, contentUri, selection, selectionArgs);
1234+
if (contentUri != null) {
1235+
final String selection = "_id=?";
1236+
final String[] selectionArgs = new String[]{split[1]};
1237+
return getResolverData(context, contentUri, selection, selectionArgs);
1238+
} else {
1239+
Log.i(TAG, "Unknown MediaProvider type " + type);
1240+
}
12371241
}
12381242
default:
1239-
Log.d(TAG, "Unknown content authority " + uri.getAuthority());
1243+
Log.i(TAG, "Unknown content authority " + uri.getAuthority());
12401244
}
12411245
} else {
1242-
Log.d(TAG, "URI has no content authority " + uri);
1246+
Log.i(TAG, "URI has no content authority " + uri);
12431247
}
12441248
} else if ("content".equalsIgnoreCase(uri.getScheme())) {
12451249
// MediaStore (and general)
@@ -1255,7 +1259,7 @@ static String getContentPath(Context context, Uri uri) {
12551259
return null;
12561260
}
12571261

1258-
private static String getResolverData(Context context, Uri uri, String selection, String[] selectionArgs) {
1262+
private static String getResolverData(Context context, @NonNull Uri uri, String selection, String[] selectionArgs) {
12591263
final String column = MediaStore.Files.FileColumns.DATA;
12601264
final String[] projection = {column};
12611265
try {

0 commit comments

Comments
 (0)