diff --git a/app/src/main/java/com/keepassdroid/fileselect/RecentFileHistory.java b/app/src/main/java/com/keepassdroid/fileselect/RecentFileHistory.java index 55e893b3..b2479842 100644 --- a/app/src/main/java/com/keepassdroid/fileselect/RecentFileHistory.java +++ b/app/src/main/java/com/keepassdroid/fileselect/RecentFileHistory.java @@ -234,6 +234,8 @@ public List getDbList() { String name = UriUtil.getFileName(Uri.parse(fileName), ctx); if (EmptyUtils.isNullOrEmpty(name)) { name = fileName; + } else { + name = name + " - " + fileName; } displayNames.add(name); diff --git a/app/src/main/java/com/keepassdroid/utils/UriUtil.java b/app/src/main/java/com/keepassdroid/utils/UriUtil.java index 48d82afc..4905da18 100644 --- a/app/src/main/java/com/keepassdroid/utils/UriUtil.java +++ b/app/src/main/java/com/keepassdroid/utils/UriUtil.java @@ -166,17 +166,24 @@ public static String getFileName(Uri uri, Context context) { String result = null; if (uri != null) { if (uri.getScheme().equals("content")) { - Cursor cursor = context.getContentResolver().query(uri, null, - null, null, null); try { - if (cursor != null && cursor.moveToFirst()) { - int index = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME); - if (index >= 0) { - result = cursor.getString(index); + Cursor cursor = context.getContentResolver().query(uri, null, + null, null, null); + try { + if (cursor != null && cursor.moveToFirst()) { + int index = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME); + if (index >= 0) { + result = cursor.getString(index); + } + } + } finally { + if (cursor != null) { + cursor.close(); } } - } finally { - cursor.close(); + } catch (SecurityException e) { + // Fall through to using path + result = null; } }