From 3dceec8ec08b9d7ada9b1eb40db6d187379b83c7 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Tue, 29 Jun 2021 22:40:02 +0200 Subject: [PATCH] Support for password-protected zip files --- app/build.gradle | 1 + .../card_locker/ImportExportActivity.java | 40 +++-- .../protect/card_locker/ImportExportTask.java | 33 ++-- .../card_locker/importexport/CsvImporter.java | 2 +- .../{ => importexport}/DataFormat.java | 3 +- .../importexport/FidmeImporter.java | 15 +- .../importexport/ImportExportResult.java | 9 + .../card_locker/importexport/Importer.java | 2 +- .../importexport/MultiFormatExporter.java | 13 +- .../importexport/MultiFormatImporter.java | 23 ++- .../importexport/StocardImporter.java | 149 ++++++++++++++++ .../importexport/VoucherVaultImporter.java | 2 +- .../protect/card_locker/ImportExportTest.java | 162 +++++++++++------- ...33e49-cfa0-49ad-a297-c1d655f72b01-sync.zip | Bin 0 -> 168243 bytes 14 files changed, 339 insertions(+), 115 deletions(-) rename app/src/main/java/protect/card_locker/{ => importexport}/DataFormat.java (57%) create mode 100644 app/src/main/java/protect/card_locker/importexport/ImportExportResult.java create mode 100644 app/src/main/java/protect/card_locker/importexport/StocardImporter.java create mode 100644 app/src/test/res/protect/card_locker/50e33e49-cfa0-49ad-a297-c1d655f72b01-sync.zip diff --git a/app/build.gradle b/app/build.gradle index b6b1fc1a1..28bcb3456 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -84,6 +84,7 @@ dependencies { implementation 'com.jaredrummler:colorpicker:1.1.0' implementation 'com.google.guava:guava:30.1.1-jre' implementation 'com.github.invissvenska:NumberPickerPreference:1.0.2' + implementation 'net.lingala.zip4j:zip4j:2.8.0' // SpotBugs implementation 'io.wcm.tooling.spotbugs:io.wcm.tooling.spotbugs.annotations:1.0.0' diff --git a/app/src/main/java/protect/card_locker/ImportExportActivity.java b/app/src/main/java/protect/card_locker/ImportExportActivity.java index 2445605a9..27fa2baa3 100644 --- a/app/src/main/java/protect/card_locker/ImportExportActivity.java +++ b/app/src/main/java/protect/card_locker/ImportExportActivity.java @@ -27,6 +27,8 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; +import protect.card_locker.importexport.DataFormat; +import protect.card_locker.importexport.ImportExportResult; public class ImportExportActivity extends AppCompatActivity { @@ -162,19 +164,19 @@ public class ImportExportActivity extends AppCompatActivity builder.show(); } - private void startImport(final InputStream target, final Uri targetUri, final DataFormat dataFormat) + private void startImport(final InputStream target, final Uri targetUri, final DataFormat dataFormat, final char[] password) { ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() { @Override - public void onTaskComplete(boolean success) + public void onTaskComplete(ImportExportResult result) { - onImportComplete(success, targetUri); + onImportComplete(result, targetUri); } }; importExporter = new ImportExportTask(ImportExportActivity.this, - dataFormat, target, listener); + dataFormat, target, password, listener); importExporter.execute(); } @@ -183,9 +185,9 @@ public class ImportExportActivity extends AppCompatActivity ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() { @Override - public void onTaskComplete(boolean success) + public void onTaskComplete(ImportExportResult result) { - onExportComplete(success, targetUri); + onExportComplete(result, targetUri); } }; @@ -245,20 +247,23 @@ public class ImportExportActivity extends AppCompatActivity return super.onOptionsItemSelected(item); } - private void onImportComplete(boolean success, Uri path) + private void onImportComplete(ImportExportResult result, Uri path) { AlertDialog.Builder builder = new AlertDialog.Builder(this); - if(success) + int messageId; + + if(result == ImportExportResult.Success) { builder.setTitle(R.string.importSuccessfulTitle); + messageId = R.string.importSuccessful; } else { builder.setTitle(R.string.importFailedTitle); + messageId = R.string.importFailed; } - int messageId = success ? R.string.importSuccessful : R.string.importFailed; final String message = getResources().getString(messageId); builder.setMessage(message); @@ -274,20 +279,23 @@ public class ImportExportActivity extends AppCompatActivity builder.create().show(); } - private void onExportComplete(boolean success, final Uri path) + private void onExportComplete(ImportExportResult result, final Uri path) { AlertDialog.Builder builder = new AlertDialog.Builder(this); - if(success) + int messageId; + + if(result == ImportExportResult.Success) { builder.setTitle(R.string.exportSuccessfulTitle); + messageId = R.string.exportSuccessful; } else { builder.setTitle(R.string.exportFailedTitle); + messageId = R.string.exportFailed; } - int messageId = success ? R.string.exportSuccessful : R.string.exportFailed; final String message = getResources().getString(messageId); builder.setMessage(message); @@ -300,7 +308,7 @@ public class ImportExportActivity extends AppCompatActivity } }); - if(success) + if(result == ImportExportResult.Success) { final CharSequence sendLabel = ImportExportActivity.this.getResources().getText(R.string.sendLabel); @@ -389,7 +397,7 @@ public class ImportExportActivity extends AppCompatActivity Log.e(TAG, "Starting file import with: " + uri.toString()); - startImport(reader, uri, importDataFormat); + startImport(reader, uri, importDataFormat, null); } } catch(FileNotFoundException e) @@ -397,11 +405,11 @@ public class ImportExportActivity extends AppCompatActivity Log.e(TAG, "Failed to import/export file: " + uri.toString(), e); if (requestCode == CHOOSE_EXPORT_LOCATION) { - onExportComplete(false, uri); + onExportComplete(ImportExportResult.GenericFailure, uri); } else { - onImportComplete(false, uri); + onImportComplete(ImportExportResult.GenericFailure, uri); } } } diff --git a/app/src/main/java/protect/card_locker/ImportExportTask.java b/app/src/main/java/protect/card_locker/ImportExportTask.java index 96ad7bf39..a86057353 100644 --- a/app/src/main/java/protect/card_locker/ImportExportTask.java +++ b/app/src/main/java/protect/card_locker/ImportExportTask.java @@ -13,10 +13,12 @@ import java.io.OutputStream; import java.io.OutputStreamWriter; import java.nio.charset.Charset; +import protect.card_locker.importexport.DataFormat; +import protect.card_locker.importexport.ImportExportResult; import protect.card_locker.importexport.MultiFormatExporter; import protect.card_locker.importexport.MultiFormatImporter; -class ImportExportTask extends AsyncTask +class ImportExportTask extends AsyncTask { private static final String TAG = "Catima"; @@ -25,6 +27,7 @@ class ImportExportTask extends AsyncTask private DataFormat format; private OutputStream outputStream; private InputStream inputStream; + private char[] password; private TaskCompleteListener listener; private ProgressDialog progress; @@ -46,7 +49,7 @@ class ImportExportTask extends AsyncTask /** * Constructor which will setup a task for importing from the given InputStream. */ - ImportExportTask(Activity activity, DataFormat format, InputStream input, + ImportExportTask(Activity activity, DataFormat format, InputStream input, char[] password, TaskCompleteListener listener) { super(); @@ -54,24 +57,22 @@ class ImportExportTask extends AsyncTask this.doImport = true; this.format = format; this.inputStream = input; + this.password = password; this.listener = listener; } - private boolean performImport(Context context, InputStream stream, DBHelper db) + private ImportExportResult performImport(Context context, InputStream stream, DBHelper db, char[] password) { - boolean result = false; + ImportExportResult importResult = MultiFormatImporter.importData(context, db, stream, format, password); + Log.i(TAG, "Import result: " + importResult.name()); - result = MultiFormatImporter.importData(context, db, stream, format); - - Log.i(TAG, "Import result: " + result); - - return result; + return importResult; } - private boolean performExport(Context context, OutputStream stream, DBHelper db) + private ImportExportResult performExport(Context context, OutputStream stream, DBHelper db) { - boolean result = false; + ImportExportResult result = ImportExportResult.GenericFailure; try { @@ -106,14 +107,14 @@ class ImportExportTask extends AsyncTask progress.show(); } - protected Boolean doInBackground(Void... nothing) + protected ImportExportResult doInBackground(Void... nothing) { final DBHelper db = new DBHelper(activity); - boolean result; + ImportExportResult result; if(doImport) { - result = performImport(activity.getApplicationContext(), inputStream, db); + result = performImport(activity.getApplicationContext(), inputStream, db, password); } else { @@ -123,7 +124,7 @@ class ImportExportTask extends AsyncTask return result; } - protected void onPostExecute(Boolean result) + protected void onPostExecute(ImportExportResult result) { listener.onTaskComplete(result); @@ -138,7 +139,7 @@ class ImportExportTask extends AsyncTask } interface TaskCompleteListener { - void onTaskComplete(boolean success); + void onTaskComplete(ImportExportResult result); } } diff --git a/app/src/main/java/protect/card_locker/importexport/CsvImporter.java b/app/src/main/java/protect/card_locker/importexport/CsvImporter.java index a7c5876f7..292a21fec 100644 --- a/app/src/main/java/protect/card_locker/importexport/CsvImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/CsvImporter.java @@ -37,7 +37,7 @@ import protect.card_locker.Utils; */ public class CsvImporter implements Importer { - public void importData(Context context, DBHelper db, InputStream input) throws IOException, FormatException, InterruptedException + public void importData(Context context, DBHelper db, InputStream input, char[] password) throws IOException, FormatException, InterruptedException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)); diff --git a/app/src/main/java/protect/card_locker/DataFormat.java b/app/src/main/java/protect/card_locker/importexport/DataFormat.java similarity index 57% rename from app/src/main/java/protect/card_locker/DataFormat.java rename to app/src/main/java/protect/card_locker/importexport/DataFormat.java index c030653a7..26e97e745 100644 --- a/app/src/main/java/protect/card_locker/DataFormat.java +++ b/app/src/main/java/protect/card_locker/importexport/DataFormat.java @@ -1,9 +1,10 @@ -package protect.card_locker; +package protect.card_locker.importexport; public enum DataFormat { Catima, Fidme, + Stocard, VoucherVault ; } diff --git a/app/src/main/java/protect/card_locker/importexport/FidmeImporter.java b/app/src/main/java/protect/card_locker/importexport/FidmeImporter.java index 943f44d49..770ee1108 100644 --- a/app/src/main/java/protect/card_locker/importexport/FidmeImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/FidmeImporter.java @@ -5,6 +5,9 @@ import android.database.sqlite.SQLiteDatabase; import com.google.zxing.BarcodeFormat; +import net.lingala.zip4j.io.inputstream.ZipInputStream; +import net.lingala.zip4j.model.LocalFileHeader; + import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; @@ -16,8 +19,6 @@ import java.io.StringReader; import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.text.ParseException; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; import protect.card_locker.DBHelper; import protect.card_locker.FormatException; @@ -31,18 +32,18 @@ import protect.card_locker.FormatException; */ public class FidmeImporter implements Importer { - public void importData(Context context, DBHelper db, InputStream input) throws IOException, FormatException, JSONException, ParseException { + public void importData(Context context, DBHelper db, InputStream input, char[] password) throws IOException, FormatException, JSONException, ParseException { // We actually retrieve a .zip file - ZipInputStream zipInputStream = new ZipInputStream(input); + ZipInputStream zipInputStream = new ZipInputStream(input, password); StringBuilder loyaltyCards = new StringBuilder(); byte[] buffer = new byte[1024]; int read = 0; - ZipEntry zipEntry; + LocalFileHeader localFileHeader; - while ((zipEntry = zipInputStream.getNextEntry()) != null) { - if (zipEntry.getName().equals("loyalty_programs.csv")) { + while ((localFileHeader = zipInputStream.getNextEntry()) != null) { + if (localFileHeader.getFileName().equals("loyalty_programs.csv")) { while ((read = zipInputStream.read(buffer, 0, 1024)) >= 0) { loyaltyCards.append(new String(buffer, 0, read, StandardCharsets.UTF_8)); } diff --git a/app/src/main/java/protect/card_locker/importexport/ImportExportResult.java b/app/src/main/java/protect/card_locker/importexport/ImportExportResult.java new file mode 100644 index 000000000..9a8d71c08 --- /dev/null +++ b/app/src/main/java/protect/card_locker/importexport/ImportExportResult.java @@ -0,0 +1,9 @@ +package protect.card_locker.importexport; + +public enum ImportExportResult +{ + Success, + GenericFailure, + BadPassword + ; +} diff --git a/app/src/main/java/protect/card_locker/importexport/Importer.java b/app/src/main/java/protect/card_locker/importexport/Importer.java index 9dec306e4..fe47d05fe 100644 --- a/app/src/main/java/protect/card_locker/importexport/Importer.java +++ b/app/src/main/java/protect/card_locker/importexport/Importer.java @@ -23,5 +23,5 @@ public interface Importer * @throws IOException * @throws FormatException */ - void importData(Context context, DBHelper db, InputStream input) throws IOException, FormatException, InterruptedException, JSONException, ParseException; + void importData(Context context, DBHelper db, InputStream input, char[] password) throws IOException, FormatException, InterruptedException, JSONException, ParseException; } diff --git a/app/src/main/java/protect/card_locker/importexport/MultiFormatExporter.java b/app/src/main/java/protect/card_locker/importexport/MultiFormatExporter.java index f61636cc6..f020370d2 100644 --- a/app/src/main/java/protect/card_locker/importexport/MultiFormatExporter.java +++ b/app/src/main/java/protect/card_locker/importexport/MultiFormatExporter.java @@ -7,7 +7,6 @@ import java.io.IOException; import java.io.OutputStreamWriter; import protect.card_locker.DBHelper; -import protect.card_locker.DataFormat; public class MultiFormatExporter { @@ -19,11 +18,11 @@ public class MultiFormatExporter * * The output stream is closed on success. * - * @return true if the database was successfully exported, - * false otherwise. If false, partial data may have been + * @return ImportExportResult.Success if the database was successfully exported, + * another ImportExportResult otherwise. If not Success, partial data may have been * written to the output stream, and it should be discarded. */ - public static boolean exportData(Context context, DBHelper db, OutputStreamWriter output, DataFormat format) + public static ImportExportResult exportData(Context context, DBHelper db, OutputStreamWriter output, DataFormat format) { Exporter exporter = null; @@ -42,7 +41,7 @@ public class MultiFormatExporter try { exporter.exportData(context, db, output); - return true; + return ImportExportResult.Success; } catch(IOException e) { @@ -53,12 +52,12 @@ public class MultiFormatExporter Log.e(TAG, "Failed to export data", e); } - return false; + return ImportExportResult.GenericFailure; } else { Log.e(TAG, "Unsupported data format exported: " + format.name()); - return false; + return ImportExportResult.GenericFailure; } } } diff --git a/app/src/main/java/protect/card_locker/importexport/MultiFormatImporter.java b/app/src/main/java/protect/card_locker/importexport/MultiFormatImporter.java index 34c620c74..835bb26df 100644 --- a/app/src/main/java/protect/card_locker/importexport/MultiFormatImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/MultiFormatImporter.java @@ -3,6 +3,8 @@ package protect.card_locker.importexport; import android.content.Context; import android.util.Log; +import net.lingala.zip4j.exception.ZipException; + import org.json.JSONException; import java.io.IOException; @@ -10,7 +12,6 @@ import java.io.InputStream; import java.text.ParseException; import protect.card_locker.DBHelper; -import protect.card_locker.DataFormat; import protect.card_locker.FormatException; public class MultiFormatImporter @@ -24,11 +25,11 @@ public class MultiFormatImporter * The input stream is not closed, and doing so is the * responsibility of the caller. * - * @return true if the database was successfully imported, - * false otherwise. If false, no data was written to + * @return ImportExportResult.Success if the database was successfully imported, + * or another result otherwise. If no Success, no data was written to * the database. */ - public static boolean importData(Context context, DBHelper db, InputStream input, DataFormat format) + public static ImportExportResult importData(Context context, DBHelper db, InputStream input, DataFormat format, char[] password) { Importer importer = null; @@ -40,6 +41,9 @@ public class MultiFormatImporter case Fidme: importer = new FidmeImporter(); break; + case Stocard: + importer = new StocardImporter(); + break; case VoucherVault: importer = new VoucherVaultImporter(); break; @@ -49,8 +53,12 @@ public class MultiFormatImporter { try { - importer.importData(context, db, input); - return true; + importer.importData(context, db, input, password); + return ImportExportResult.Success; + } + catch(ZipException e) + { + return ImportExportResult.BadPassword; } catch(IOException | FormatException | InterruptedException | JSONException | ParseException e) { @@ -62,6 +70,7 @@ public class MultiFormatImporter { Log.e(TAG, "Unsupported data format imported: " + format.name()); } - return false; + + return ImportExportResult.GenericFailure; } } diff --git a/app/src/main/java/protect/card_locker/importexport/StocardImporter.java b/app/src/main/java/protect/card_locker/importexport/StocardImporter.java new file mode 100644 index 000000000..a25c3fa03 --- /dev/null +++ b/app/src/main/java/protect/card_locker/importexport/StocardImporter.java @@ -0,0 +1,149 @@ +package protect.card_locker.importexport; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.util.Log; + +import com.google.zxing.BarcodeFormat; + +import net.lingala.zip4j.io.inputstream.ZipInputStream; +import net.lingala.zip4j.model.LocalFileHeader; + +import org.apache.commons.csv.CSVFormat; +import org.apache.commons.csv.CSVParser; +import org.apache.commons.csv.CSVRecord; +import org.json.JSONException; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.StringReader; +import java.math.BigDecimal; +import java.text.ParseException; + +import protect.card_locker.DBHelper; +import protect.card_locker.FormatException; + +/** + * Class for importing a database from CSV (Comma Separate Values) + * formatted data. + * + * The database's loyalty cards are expected to appear in the CSV data. + * A header is expected for the each table showing the names of the columns. + */ +public class StocardImporter implements Importer +{ + public void importData(Context context, DBHelper db, InputStream input, char[] password) throws IOException, FormatException, JSONException, ParseException { + LocalFileHeader localFileHeader; + + // We actually retrieve a .zip file + ZipInputStream zipInputStream = new ZipInputStream(input, password); + + StringBuilder loyaltyCards = new StringBuilder(); + byte[] buffer = new byte[1024]; + int read = 0; + + while ((localFileHeader = zipInputStream.getNextEntry()) != null) { + Log.w("STO", localFileHeader.getFileName()); + //File extractedFile = new File(localFileHeader.getFileName()); + //if (localFileHeader.isDirectory()) { + // localFileHeader = zipInputStream.getNextEntry(localFileHeader); + //} + //if (!localFileHeader.isDirectory()) { + // File extractedFile = new File(localFileHeader.getFileName()); + // OutputStream outputStream = new FileOutputStream(extractedFile); + // while ((read = zipInputStream.read(buffer)) != -1) { + // outputStream.write(buffer, 0, read); + // } + //} + } + + if (loyaltyCards.length() == 0) { + throw new FormatException("Couldn't find loyalty_programs.csv in zip file or it is empty"); + } + + SQLiteDatabase database = db.getWritableDatabase(); + database.beginTransaction(); + + final CSVParser fidmeParser = new CSVParser(new StringReader(loyaltyCards.toString()), CSVFormat.RFC4180.withDelimiter(';').withHeader()); + + try { + for (CSVRecord record : fidmeParser) { + importLoyaltyCard(database, db, record); + + if (Thread.currentThread().isInterrupted()) { + throw new InterruptedException(); + } + } + } catch (IllegalArgumentException | IllegalStateException | InterruptedException e) { + throw new FormatException("Issue parsing CSV data", e); + } finally { + fidmeParser.close(); + } + + database.setTransactionSuccessful(); + database.endTransaction(); + database.close(); + + zipInputStream.close(); + } + + /** + * Import a single loyalty card into the database using the given + * session. + */ + private void importLoyaltyCard(SQLiteDatabase database, DBHelper helper, CSVRecord record) + throws IOException, FormatException + { + // A loyalty card export from Fidme contains the following fields: + // Retailer (store name) + // Program (program name) + // Added at (YYYY-MM-DD HH:MM:SS UTC) + // Reference (card ID) + // Firstname (card holder first name) + // Lastname (card holder last name) + + // The store is called Retailer + String store = CSVHelpers.extractString("Retailer", record, ""); + + if (store.isEmpty()) + { + throw new FormatException("No store listed, but is required"); + } + + // There seems to be no note field in the CSV? So let's combine other fields instead... + String program = CSVHelpers.extractString("Program", record, "").trim(); + String addedAt = CSVHelpers.extractString("Added At", record, "").trim(); + String firstName = CSVHelpers.extractString("Firstname", record, "").trim(); + String lastName = CSVHelpers.extractString("Lastname", record, "").trim(); + + String combinedName = String.format("%s %s", firstName, lastName).trim(); + + StringBuilder noteBuilder = new StringBuilder(); + if (!program.isEmpty()) noteBuilder.append(program).append('\n'); + if (!addedAt.isEmpty()) noteBuilder.append(addedAt).append('\n'); + if (!combinedName.isEmpty()) noteBuilder.append(combinedName).append('\n'); + String note = noteBuilder.toString().trim(); + + // The ID is called reference + String cardId = CSVHelpers.extractString("Reference", record, ""); + if(cardId.isEmpty()) + { + throw new FormatException("No card ID listed, but is required"); + } + + // Sadly, Fidme exports don't contain the card type + // I guess they have an online DB of all the different companies and what type they use + // TODO: Hook this into our own loyalty card DB if we ever get one + BarcodeFormat barcodeType = null; + + // No favourite data in the export either + int starStatus = 0; + + // TODO: Front and back image + + helper.insertLoyaltyCard(database, store, note, null, BigDecimal.valueOf(0), null, cardId, null, barcodeType, null, starStatus); + } +} \ No newline at end of file diff --git a/app/src/main/java/protect/card_locker/importexport/VoucherVaultImporter.java b/app/src/main/java/protect/card_locker/importexport/VoucherVaultImporter.java index 950ec0bc3..42c99d5ff 100644 --- a/app/src/main/java/protect/card_locker/importexport/VoucherVaultImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/VoucherVaultImporter.java @@ -35,7 +35,7 @@ import protect.card_locker.FormatException; */ public class VoucherVaultImporter implements Importer { - public void importData(Context context, DBHelper db, InputStream input) throws IOException, FormatException, JSONException, ParseException { + public void importData(Context context, DBHelper db, InputStream input, char[] password) throws IOException, FormatException, JSONException, ParseException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)); StringBuilder sb = new StringBuilder(); diff --git a/app/src/test/java/protect/card_locker/ImportExportTest.java b/app/src/test/java/protect/card_locker/ImportExportTest.java index 9c4f35a41..9bf598339 100644 --- a/app/src/test/java/protect/card_locker/ImportExportTest.java +++ b/app/src/test/java/protect/card_locker/ImportExportTest.java @@ -1,17 +1,12 @@ package protect.card_locker; import android.app.Activity; -import android.content.res.Resources; import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; import android.os.Environment; import android.util.DisplayMetrics; -import android.util.Log; import com.google.zxing.BarcodeFormat; @@ -24,7 +19,6 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import org.robolectric.annotation.LooperMode; import org.robolectric.shadows.ShadowLog; -import org.robolectric.util.Util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -45,9 +39,9 @@ import java.util.Currency; import java.util.Date; import java.util.List; -import javax.annotation.Resource; - import androidx.core.content.res.ResourcesCompat; +import protect.card_locker.importexport.DataFormat; +import protect.card_locker.importexport.ImportExportResult; import protect.card_locker.importexport.MultiFormatExporter; import protect.card_locker.importexport.MultiFormatImporter; @@ -338,8 +332,8 @@ public class ImportExportTest OutputStreamWriter outStream = new OutputStreamWriter(outData); // Export data to CSV format - boolean result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); - assertTrue(result); + ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); + assertEquals(ImportExportResult.Success, result); outStream.close(); TestHelpers.getEmptyDb(activity); @@ -347,8 +341,8 @@ public class ImportExportTest ByteArrayInputStream inData = new ByteArrayInputStream(outData.toByteArray()); // Import the CSV data - result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, DataFormat.Catima); - assertTrue(result); + result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(NUM_CARDS, db.getLoyaltyCardCount()); @@ -369,8 +363,8 @@ public class ImportExportTest OutputStreamWriter outStream = new OutputStreamWriter(outData); // Export data to CSV format - boolean result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); - assertTrue(result); + ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); + assertEquals(ImportExportResult.Success, result); outStream.close(); TestHelpers.getEmptyDb(activity); @@ -378,8 +372,8 @@ public class ImportExportTest ByteArrayInputStream inData = new ByteArrayInputStream(outData.toByteArray()); // Import the CSV data - result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, DataFormat.Catima); - assertTrue(result); + result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(NUM_CARDS, db.getLoyaltyCardCount()); @@ -442,8 +436,8 @@ public class ImportExportTest OutputStreamWriter outStream = new OutputStreamWriter(outData); // Export data to CSV format - boolean result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); - assertTrue(result); + ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); + assertEquals(ImportExportResult.Success, result); outStream.close(); TestHelpers.getEmptyDb(activity); @@ -451,8 +445,8 @@ public class ImportExportTest ByteArrayInputStream inData = new ByteArrayInputStream(outData.toByteArray()); // Import the CSV data - result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, DataFormat.Catima); - assertTrue(result); + result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(NUM_CARDS, db.getLoyaltyCardCount()); assertEquals(NUM_GROUPS, db.getGroupCount()); @@ -486,15 +480,15 @@ public class ImportExportTest OutputStreamWriter outStream = new OutputStreamWriter(outData); // Export into CSV data - boolean result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); - assertTrue(result); + ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); + assertEquals(ImportExportResult.Success, result); outStream.close(); ByteArrayInputStream inData = new ByteArrayInputStream(outData.toByteArray()); // Import the CSV data on top of the existing database - result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, DataFormat.Catima); - assertTrue(result); + result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(NUM_CARDS, db.getLoyaltyCardCount()); @@ -517,8 +511,8 @@ public class ImportExportTest OutputStreamWriter outStream = new OutputStreamWriter(outData); // Export data to CSV format - boolean result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); - assertTrue(result); + ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), db, outStream, DataFormat.Catima); + assertEquals(ImportExportResult.Success, result); TestHelpers.getEmptyDb(activity); @@ -531,8 +525,8 @@ public class ImportExportTest ByteArrayInputStream inData = new ByteArrayInputStream((outData.toString() + corruptEntry).getBytes()); // Attempt to import the data - result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, format); - assertEquals(false, result); + result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inData, format, null); + assertEquals(ImportExportResult.GenericFailure, result); assertEquals(0, db.getLoyaltyCardCount()); @@ -542,11 +536,11 @@ public class ImportExportTest class TestTaskCompleteListener implements ImportExportTask.TaskCompleteListener { - Boolean success; + ImportExportResult result; - public void onTaskComplete(boolean success) + public void onTaskComplete(ImportExportResult result) { - this.success = success; + this.result = result; } } @@ -572,8 +566,8 @@ public class ImportExportTest Robolectric.flushBackgroundThreadScheduler(); // Check that the listener was executed - assertNotNull(listener.success); - assertEquals(true, listener.success); + assertNotNull(listener.result); + assertEquals(ImportExportResult.Success, listener.result); TestHelpers.getEmptyDb(activity); @@ -583,15 +577,15 @@ public class ImportExportTest FileInputStream fileStream = new FileInputStream(exportFile); - task = new ImportExportTask(activity, DataFormat.Catima, fileStream, listener); + task = new ImportExportTask(activity, DataFormat.Catima, fileStream, null, listener); task.execute(); // Actually run the task to completion Robolectric.flushBackgroundThreadScheduler(); // Check that the listener was executed - assertNotNull(listener.success); - assertEquals(true, listener.success); + assertNotNull(listener.result); + assertEquals(ImportExportResult.Success, listener.result); assertEquals(NUM_CARDS, db.getLoyaltyCardCount()); @@ -617,8 +611,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertTrue(result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(1, db.getLoyaltyCardCount()); LoyaltyCard card = db.getLoyaltyCard(1); @@ -655,8 +649,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertTrue(result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(1, db.getLoyaltyCardCount()); LoyaltyCard card = db.getLoyaltyCard(1); @@ -693,8 +687,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertEquals(false, result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.GenericFailure, result); assertEquals(0, db.getLoyaltyCardCount()); TestHelpers.getEmptyDb(activity); @@ -718,8 +712,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertEquals(true, result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(1, db.getLoyaltyCardCount()); LoyaltyCard card = db.getLoyaltyCard(1); @@ -756,8 +750,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertEquals(true, result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(1, db.getLoyaltyCardCount()); LoyaltyCard card = db.getLoyaltyCard(1); @@ -794,8 +788,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertEquals(true, result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(1, db.getLoyaltyCardCount()); LoyaltyCard card = db.getLoyaltyCard(1); @@ -832,8 +826,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertTrue(result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(1, db.getLoyaltyCardCount()); csvText = ""; @@ -851,8 +845,8 @@ public class ImportExportTest inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertTrue(result); + result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(1, db.getLoyaltyCardCount()); LoyaltyCard card = db.getLoyaltyCard(1); @@ -941,8 +935,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8)); // Import the CSV data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima); - assertEquals(true, result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Catima, null); + assertEquals(ImportExportResult.Success, result); assertEquals(7, db.getLoyaltyCardCount()); assertEquals(3, db.getGroupCount()); @@ -1082,8 +1076,8 @@ public class ImportExportTest InputStream inputStream = getClass().getResourceAsStream("fidme-export-request-2021-06-29-17-28-20.zip"); // Import the Fidme data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Fidme); - assertTrue(result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Fidme, null); + assertEquals(ImportExportResult.Success, result); assertEquals(3, db.getLoyaltyCardCount()); LoyaltyCard card = db.getLoyaltyCard(1); @@ -1125,6 +1119,58 @@ public class ImportExportTest TestHelpers.getEmptyDb(activity); } + @Test + public void importStocard() throws IOException { + InputStream inputStream = getClass().getResourceAsStream("50e33e49-cfa0-49ad-a297-c1d655f72b01-sync.zip"); + + // Import the Stocard data + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Stocard, null); + assertEquals(ImportExportResult.BadPassword, result); + assertEquals(0, db.getLoyaltyCardCount()); + + result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.Stocard, "da811b40a4dac56f0cbb2d99b21bbb9a".toCharArray()); + assertEquals(ImportExportResult.Success, result); + assertEquals(3, db.getLoyaltyCardCount()); + + LoyaltyCard card = db.getLoyaltyCard(1); + + assertEquals("Air Miles", card.store); + assertEquals("", card.note); + assertEquals(null, card.expiry); + assertEquals(new BigDecimal("0"), card.balance); + assertEquals(null, card.balanceType); + assertEquals("7649484", card.cardId); + assertEquals(null, card.barcodeId); + assertEquals(null, card.barcodeType); + assertEquals(0, card.starStatus); + + card = db.getLoyaltyCard(2); + + assertEquals("Gamma", card.store); + assertEquals("", card.note); + assertEquals(null, card.expiry); + assertEquals(new BigDecimal("0"), card.balance); + assertEquals(null, card.balanceType); + assertEquals("55555", card.cardId); + assertEquals(null, card.barcodeId); + assertEquals(null, card.barcodeType); + assertEquals(0, card.starStatus); + + card = db.getLoyaltyCard(3); + + assertEquals("Jö", card.store); + assertEquals("", card.note); + assertEquals(null, card.expiry); + assertEquals(new BigDecimal("0"), card.balance); + assertEquals(null, card.balanceType); + assertEquals("20975646", card.cardId); + assertEquals("(01)09010374000019(21)02097564604859211217(10)01231287693", card.barcodeId); + assertEquals(null, card.barcodeType); + assertEquals(0, card.starStatus); + + TestHelpers.getEmptyDb(activity); + } + @Test public void importVoucherVault() throws IOException, FormatException, JSONException, ParseException { String jsonText = "[\n" + @@ -1153,8 +1199,8 @@ public class ImportExportTest ByteArrayInputStream inputStream = new ByteArrayInputStream(jsonText.getBytes(StandardCharsets.UTF_8)); // Import the Voucher Vault data - boolean result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.VoucherVault); - assertTrue(result); + ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), db, inputStream, DataFormat.VoucherVault, null); + assertEquals(ImportExportResult.Success, result); assertEquals(2, db.getLoyaltyCardCount()); LoyaltyCard card = db.getLoyaltyCard(1); diff --git a/app/src/test/res/protect/card_locker/50e33e49-cfa0-49ad-a297-c1d655f72b01-sync.zip b/app/src/test/res/protect/card_locker/50e33e49-cfa0-49ad-a297-c1d655f72b01-sync.zip new file mode 100644 index 0000000000000000000000000000000000000000..763d6f81694539ae2c34c9f9daa14ffcb0a71fca GIT binary patch literal 168243 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
4ZI)q}C=$ap>(+*Jj3A6JV*LalY8k4e4+dG!a$M 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

Bu*zdG>@ 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 literal 0 HcmV?d00001