From f1b2c0d93d8bf909811b638eb4c31bf0f1cf6398 Mon Sep 17 00:00:00 2001 From: Branden Archer Date: Fri, 19 Jan 2018 22:55:08 -0500 Subject: [PATCH 1/2] Report Uri after import The filename from Uri code was removed in a previous commit. To give some feedback about what was imported, the Uri itself is reported. --- .../java/protect/card_locker/ImportExportActivity.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/protect/card_locker/ImportExportActivity.java b/app/src/main/java/protect/card_locker/ImportExportActivity.java index 3ab8afc6e..40422ec9c 100644 --- a/app/src/main/java/protect/card_locker/ImportExportActivity.java +++ b/app/src/main/java/protect/card_locker/ImportExportActivity.java @@ -248,6 +248,14 @@ public class ImportExportActivity extends AppCompatActivity builder.setTitle(R.string.importFailedTitle); } + int messageId = success ? R.string.importedFrom : R.string.importFailed; + final String template = getResources().getString(messageId); + + // Get the filename of the file being imported + String filename = path.toString(); + + final String message = String.format(template, filename); + builder.setMessage(message); builder.setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() { @Override From f1b0a26591185c9cd7b408dd0c08eb97ad5766ea Mon Sep 17 00:00:00 2001 From: Branden Archer Date: Fri, 19 Jan 2018 22:56:22 -0500 Subject: [PATCH 2/2] Allow file paths when importing directly from filesystem The import path directly from the file system may not result in using a content:// or file:// Uri, but instead a file system path. If this occurs, attempt to use a FileInputStream to read the contents. --- .../protect/card_locker/ImportExportActivity.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/protect/card_locker/ImportExportActivity.java b/app/src/main/java/protect/card_locker/ImportExportActivity.java index 40422ec9c..690f41c69 100644 --- a/app/src/main/java/protect/card_locker/ImportExportActivity.java +++ b/app/src/main/java/protect/card_locker/ImportExportActivity.java @@ -380,13 +380,24 @@ public class ImportExportActivity extends AppCompatActivity try { - InputStream reader = getContentResolver().openInputStream(uri); + InputStream reader; + + if(uri.getScheme() != null) + { + reader = getContentResolver().openInputStream(uri); + } + else + { + reader = new FileInputStream(new File(uri.toString())); + } + Log.e(TAG, "Starting file import with: " + uri.toString()); startImport(reader, uri); } - catch (FileNotFoundException e) + catch(FileNotFoundException e) { Log.e(TAG, "Failed to import file: " + uri.toString(), e); + onImportComplete(false, uri); } } } \ No newline at end of file