diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f84e5709..ecd053e12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v2.7.2 - 87 (2021-10-09) + +- Fix regression breaking import/export + ## v2.7.1 - 86 (2021-10-07) - Improve search with spaces diff --git a/app/build.gradle b/app/build.gradle index d1fb229e3..13daae009 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,8 +18,8 @@ android { applicationId "me.hackerchick.catima" minSdkVersion 21 targetSdkVersion 31 - versionCode 86 - versionName "2.7.1" + versionCode 87 + versionName "2.7.2" vectorDrawables.useSupportLibrary true multiDexEnabled true diff --git a/app/src/main/java/protect/card_locker/ImportExportActivity.java b/app/src/main/java/protect/card_locker/ImportExportActivity.java index afc8b45b2..eb44bba87 100644 --- a/app/src/main/java/protect/card_locker/ImportExportActivity.java +++ b/app/src/main/java/protect/card_locker/ImportExportActivity.java @@ -188,7 +188,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity builder.show(); } - private void startImport(final InputStream target, final Uri targetUri, final DataFormat dataFormat, final char[] password) + private void startImport(final InputStream target, final Uri targetUri, final DataFormat dataFormat, final char[] password, final boolean closeWhenDone) { ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() { @@ -196,6 +196,13 @@ public class ImportExportActivity extends CatimaAppCompatActivity public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) { onImportComplete(result, targetUri, dataFormat); + if (closeWhenDone) { + try { + target.close(); + } catch (IOException ioException) { + ioException.printStackTrace(); + } + } } }; @@ -204,14 +211,20 @@ public class ImportExportActivity extends CatimaAppCompatActivity importExporter.execute(); } - private void startExport(final OutputStream target, final Uri targetUri) + private void startExport(final OutputStream target, final Uri targetUri, final boolean closeWhenDone) { ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() { @Override - public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) - { + public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) { onExportComplete(result, targetUri); + if (closeWhenDone) { + try { + target.close(); + } catch (IOException ioException) { + ioException.printStackTrace(); + } + } } }; @@ -405,9 +418,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity } Log.e(TAG, "Starting file export with: " + uri.toString()); - startExport(writer, uri); - - writer.close(); + startExport(writer, uri, true); } else { @@ -423,9 +434,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity Log.e(TAG, "Starting file import with: " + uri.toString()); - startImport(reader, uri, importDataFormat, password); - - reader.close(); + startImport(reader, uri, importDataFormat, password, true); } } catch(IOException e)