From 6f1dc74f667f10a5fa8fdff2a893c551232748a4 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Fri, 10 Sep 2021 00:49:06 +0200 Subject: [PATCH] Consistent barcode naming --- .../card_locker/BarcodeImageWriterTask.java | 16 ++-- .../card_locker/BarcodeSelectorActivity.java | 21 +---- .../protect/card_locker/CatimaBarcode.java | 76 +++++++++++++++++++ .../java/protect/card_locker/DBHelper.java | 18 ++--- .../protect/card_locker/ImportURIHelper.java | 6 +- .../java/protect/card_locker/LoyaltyCard.java | 12 +-- .../card_locker/LoyaltyCardEditActivity.java | 18 ++--- .../card_locker/LoyaltyCardViewActivity.java | 4 +- .../protect/card_locker/ScanActivity.java | 2 +- .../importexport/CatimaExporter.java | 2 +- .../importexport/CatimaImporter.java | 5 +- .../importexport/FidmeImporter.java | 3 +- .../importexport/StocardImporter.java | 7 +- .../importexport/VoucherVaultImporter.java | 13 ++-- .../protect/card_locker/DatabaseTest.java | 28 +++---- .../protect/card_locker/ImportExportTest.java | 46 +++++------ .../protect/card_locker/ImportURITest.java | 10 +-- .../LoyaltyCardCursorAdapterTest.java | 20 ++--- .../LoyaltyCardViewActivityTest.java | 72 +++++++++--------- .../protect/card_locker/MainActivityTest.java | 14 ++-- 20 files changed, 226 insertions(+), 167 deletions(-) create mode 100644 app/src/main/java/protect/card_locker/CatimaBarcode.java diff --git a/app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java b/app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java index 622b053e6..9a4fae608 100644 --- a/app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java +++ b/app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java @@ -38,14 +38,14 @@ class BarcodeImageWriterTask extends AsyncTask private final WeakReference imageViewReference; private final WeakReference textViewReference; private String cardId; - private final BarcodeFormat format; + private final CatimaBarcode format; private final int imageHeight; private final int imageWidth; private final boolean showFallback; private final Runnable callback; BarcodeImageWriterTask(Context context, ImageView imageView, String cardIdString, - BarcodeFormat barcodeFormat, TextView textView, + CatimaBarcode barcodeFormat, TextView textView, boolean showFallback, Runnable callback) { mContext = context; @@ -78,9 +78,9 @@ class BarcodeImageWriterTask extends AsyncTask this.showFallback = showFallback; } - private int getMaxWidth(BarcodeFormat format) + private int getMaxWidth(CatimaBarcode format) { - switch(format) + switch(format.format()) { // 2D barcodes case AZTEC: @@ -108,9 +108,9 @@ class BarcodeImageWriterTask extends AsyncTask } } - private String getFallbackString(BarcodeFormat format) + private String getFallbackString(CatimaBarcode format) { - switch(format) + switch(format.format()) { // 2D barcodes case AZTEC: @@ -157,7 +157,7 @@ class BarcodeImageWriterTask extends AsyncTask { try { - bitMatrix = writer.encode(cardId, format, imageWidth, imageHeight, null); + bitMatrix = writer.encode(cardId, format.format(), imageWidth, imageHeight, null); } catch(Exception e) { @@ -247,7 +247,7 @@ class BarcodeImageWriterTask extends AsyncTask return; } - String formatPrettyName = format.name().replace("_", " "); + String formatPrettyName = format.prettyName(); imageView.setTag(isSuccesful); diff --git a/app/src/main/java/protect/card_locker/BarcodeSelectorActivity.java b/app/src/main/java/protect/card_locker/BarcodeSelectorActivity.java index c086014c0..20ab99fb6 100644 --- a/app/src/main/java/protect/card_locker/BarcodeSelectorActivity.java +++ b/app/src/main/java/protect/card_locker/BarcodeSelectorActivity.java @@ -40,25 +40,6 @@ public class BarcodeSelectorActivity extends CatimaAppCompatActivity public static final String BARCODE_CONTENTS = "contents"; public static final String BARCODE_FORMAT = "format"; - // These are all the barcode types that the zxing library - // is able to generate a barcode for, and thus should be - // the only barcodes which we should attempt to scan. - public static final Collection SUPPORTED_BARCODE_TYPES = Collections.unmodifiableList( - Arrays.asList( - BarcodeFormat.AZTEC.name(), - BarcodeFormat.CODE_39.name(), - BarcodeFormat.CODE_128.name(), - BarcodeFormat.CODABAR.name(), - BarcodeFormat.DATA_MATRIX.name(), - BarcodeFormat.EAN_8.name(), - BarcodeFormat.EAN_13.name(), - BarcodeFormat.ITF.name(), - BarcodeFormat.PDF_417.name(), - BarcodeFormat.QR_CODE.name(), - BarcodeFormat.UPC_A.name(), - BarcodeFormat.UPC_E.name() - )); - private Map> barcodeViewMap; private LinkedList barcodeGeneratorTasks = new LinkedList<>(); @@ -151,7 +132,7 @@ public class BarcodeSelectorActivity extends CatimaAppCompatActivity private void createBarcodeOption(final ImageView image, final String formatType, final String cardId, final TextView text) { - final BarcodeFormat format = BarcodeFormat.valueOf(formatType); + final CatimaBarcode format = CatimaBarcode.fromName(formatType); if(format == null) { Log.w(TAG, "Unsupported barcode format: " + formatType); diff --git a/app/src/main/java/protect/card_locker/CatimaBarcode.java b/app/src/main/java/protect/card_locker/CatimaBarcode.java new file mode 100644 index 000000000..ccb633bd2 --- /dev/null +++ b/app/src/main/java/protect/card_locker/CatimaBarcode.java @@ -0,0 +1,76 @@ +package protect.card_locker; + +import com.google.zxing.BarcodeFormat; + +import java.util.Arrays; +import java.util.List; + +public class CatimaBarcode { + public static final List barcodeFormats = Arrays.asList( + BarcodeFormat.AZTEC, + BarcodeFormat.CODE_39, + BarcodeFormat.CODE_128, + BarcodeFormat.CODABAR, + BarcodeFormat.DATA_MATRIX, + BarcodeFormat.EAN_8, + BarcodeFormat.EAN_13, + BarcodeFormat.ITF, + BarcodeFormat.PDF_417, + BarcodeFormat.QR_CODE, + BarcodeFormat.UPC_A, + BarcodeFormat.UPC_E + ); + + public static final List barcodePrettyNames = Arrays.asList( + "Aztec", + "Code 39", + "Code 128", + "Codabar", + "Data Matrix", + "EAN 8", + "EAN 13", + "ITF", + "PDF 417", + "QR Code", + "UPC A", + "UPC E" + ); + + private final BarcodeFormat mBarcodeFormat; + + private CatimaBarcode(BarcodeFormat barcodeFormat) { + mBarcodeFormat = barcodeFormat; + } + + public static CatimaBarcode fromBarcode(BarcodeFormat barcodeFormat) { + return new CatimaBarcode(barcodeFormat); + } + + public static CatimaBarcode fromName(String name) { + return new CatimaBarcode(BarcodeFormat.valueOf(name)); + } + + public static CatimaBarcode fromPrettyName(String prettyName) { + try { + return new CatimaBarcode(barcodeFormats.get(barcodePrettyNames.indexOf(prettyName))); + } catch (IndexOutOfBoundsException e) { + throw new IllegalArgumentException("No barcode type with pretty name " + prettyName + " known!"); + } + } + + public boolean isSupported() { + return barcodeFormats.contains(mBarcodeFormat); + } + + public BarcodeFormat format() { + return mBarcodeFormat; + } + + public String name() { + return mBarcodeFormat.name(); + } + + public String prettyName() { + return barcodePrettyNames.get(barcodeFormats.indexOf(mBarcodeFormat)); + } +} diff --git a/app/src/main/java/protect/card_locker/DBHelper.java b/app/src/main/java/protect/card_locker/DBHelper.java index 18e081d06..591aadeee 100644 --- a/app/src/main/java/protect/card_locker/DBHelper.java +++ b/app/src/main/java/protect/card_locker/DBHelper.java @@ -8,8 +8,6 @@ import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; -import com.google.zxing.BarcodeFormat; - import java.io.FileNotFoundException; import java.math.BigDecimal; import java.util.ArrayList; @@ -257,7 +255,7 @@ public class DBHelper extends SQLiteOpenHelper public long insertLoyaltyCard(final String store, final String note, final Date expiry, final BigDecimal balance, final Currency balanceType, final String cardId, final String barcodeId, - final BarcodeFormat barcodeType, final Integer headerColor, + final CatimaBarcode barcodeType, final Integer headerColor, final int starStatus) { SQLiteDatabase db = getWritableDatabase(); @@ -269,7 +267,7 @@ public class DBHelper extends SQLiteOpenHelper contentValues.put(LoyaltyCardDbIds.BALANCE_TYPE, balanceType != null ? balanceType.getCurrencyCode() : null); contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId); contentValues.put(LoyaltyCardDbIds.BARCODE_ID, barcodeId); - contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.toString() : null); + contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.name() : null); contentValues.put(LoyaltyCardDbIds.HEADER_COLOR, headerColor); contentValues.put(LoyaltyCardDbIds.STAR_STATUS, starStatus); return db.insert(LoyaltyCardDbIds.TABLE, null, contentValues); @@ -278,7 +276,7 @@ public class DBHelper extends SQLiteOpenHelper public long insertLoyaltyCard(final SQLiteDatabase db, final String store, final String note, final Date expiry, final BigDecimal balance, final Currency balanceType, final String cardId, - final String barcodeId, final BarcodeFormat barcodeType, + final String barcodeId, final CatimaBarcode barcodeType, final Integer headerColor, final int starStatus) { ContentValues contentValues = new ContentValues(); @@ -289,7 +287,7 @@ public class DBHelper extends SQLiteOpenHelper contentValues.put(LoyaltyCardDbIds.BALANCE_TYPE, balanceType != null ? balanceType.getCurrencyCode() : null); contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId); contentValues.put(LoyaltyCardDbIds.BARCODE_ID, barcodeId); - contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.toString() : null); + contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.name() : null); contentValues.put(LoyaltyCardDbIds.HEADER_COLOR, headerColor); contentValues.put(LoyaltyCardDbIds.STAR_STATUS,starStatus); return db.insert(LoyaltyCardDbIds.TABLE, null, contentValues); @@ -298,7 +296,7 @@ public class DBHelper extends SQLiteOpenHelper public long insertLoyaltyCard(final SQLiteDatabase db, final int id, final String store, final String note, final Date expiry, final BigDecimal balance, final Currency balanceType, final String cardId, - final String barcodeId, final BarcodeFormat barcodeType, + final String barcodeId, final CatimaBarcode barcodeType, final Integer headerColor, final int starStatus) { ContentValues contentValues = new ContentValues(); @@ -310,7 +308,7 @@ public class DBHelper extends SQLiteOpenHelper contentValues.put(LoyaltyCardDbIds.BALANCE_TYPE, balanceType != null ? balanceType.getCurrencyCode() : null); contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId); contentValues.put(LoyaltyCardDbIds.BARCODE_ID, barcodeId); - contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.toString() : null); + contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.name() : null); contentValues.put(LoyaltyCardDbIds.HEADER_COLOR, headerColor); contentValues.put(LoyaltyCardDbIds.STAR_STATUS,starStatus); return db.insert(LoyaltyCardDbIds.TABLE, null, contentValues); @@ -319,7 +317,7 @@ public class DBHelper extends SQLiteOpenHelper public boolean updateLoyaltyCard(final int id, final String store, final String note, final Date expiry, final BigDecimal balance, final Currency balanceType, final String cardId, - final String barcodeId, final BarcodeFormat barcodeType, + final String barcodeId, final CatimaBarcode barcodeType, final Integer headerColor) { SQLiteDatabase db = getWritableDatabase(); @@ -331,7 +329,7 @@ public class DBHelper extends SQLiteOpenHelper contentValues.put(LoyaltyCardDbIds.BALANCE_TYPE, balanceType != null ? balanceType.getCurrencyCode() : null); contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId); contentValues.put(LoyaltyCardDbIds.BARCODE_ID, barcodeId); - contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.toString() : null); + contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.name() : null); contentValues.put(LoyaltyCardDbIds.HEADER_COLOR, headerColor); int rowsUpdated = db.update(LoyaltyCardDbIds.TABLE, contentValues, whereAttrs(LoyaltyCardDbIds.ID), withArgs(id)); diff --git a/app/src/main/java/protect/card_locker/ImportURIHelper.java b/app/src/main/java/protect/card_locker/ImportURIHelper.java index befacf30f..3b7e1b9fb 100644 --- a/app/src/main/java/protect/card_locker/ImportURIHelper.java +++ b/app/src/main/java/protect/card_locker/ImportURIHelper.java @@ -63,7 +63,7 @@ public class ImportURIHelper { try { // These values are allowed to be null - BarcodeFormat barcodeType = null; + CatimaBarcode barcodeType = null; Date expiry = null; BigDecimal balance = new BigDecimal("0"); Currency balanceType = null; @@ -97,7 +97,7 @@ public class ImportURIHelper { String unparsedBarcodeType = kv.get(BARCODE_TYPE); if(unparsedBarcodeType != null && !unparsedBarcodeType.equals("")) { - barcodeType = BarcodeFormat.valueOf(unparsedBarcodeType); + barcodeType = CatimaBarcode.fromName(unparsedBarcodeType); } String unparsedBalance = kv.get(BALANCE); @@ -164,7 +164,7 @@ public class ImportURIHelper { } if(loyaltyCard.barcodeType != null) { - fragment = appendFragment(fragment, BARCODE_TYPE, loyaltyCard.barcodeType.toString()); + fragment = appendFragment(fragment, BARCODE_TYPE, loyaltyCard.barcodeType.name()); } if(loyaltyCard.headerColor != null) { fragment = appendFragment(fragment, HEADER_COLOR, loyaltyCard.headerColor.toString()); diff --git a/app/src/main/java/protect/card_locker/LoyaltyCard.java b/app/src/main/java/protect/card_locker/LoyaltyCard.java index 75b82f87b..a0cc5d09b 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCard.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCard.java @@ -25,7 +25,7 @@ public class LoyaltyCard implements Parcelable { public final String barcodeId; @Nullable - public final BarcodeFormat barcodeType; + public final CatimaBarcode barcodeType; @Nullable public final Integer headerColor; @@ -34,7 +34,7 @@ public class LoyaltyCard implements Parcelable { public LoyaltyCard(final int id, final String store, final String note, final Date expiry, final BigDecimal balance, final Currency balanceType, final String cardId, - @Nullable final String barcodeId, @Nullable final BarcodeFormat barcodeType, @Nullable final Integer headerColor, + @Nullable final String barcodeId, @Nullable final CatimaBarcode barcodeType, @Nullable final Integer headerColor, final int starStatus) { this.id = id; @@ -61,7 +61,7 @@ public class LoyaltyCard implements Parcelable { cardId = in.readString(); barcodeId = in.readString(); String tmpBarcodeType = in.readString(); - barcodeType = !tmpBarcodeType.isEmpty() ? BarcodeFormat.valueOf(tmpBarcodeType) : null; + barcodeType = !tmpBarcodeType.isEmpty() ? CatimaBarcode.fromName(tmpBarcodeType) : null; int tmpHeaderColor = in.readInt(); headerColor = tmpHeaderColor != -1 ? tmpHeaderColor : null; starStatus = in.readInt(); @@ -77,7 +77,7 @@ public class LoyaltyCard implements Parcelable { parcel.writeValue(balanceType); parcel.writeString(cardId); parcel.writeString(barcodeId); - parcel.writeString(barcodeType != null ? barcodeType.toString() : ""); + parcel.writeString(barcodeType != null ? barcodeType.name() : ""); parcel.writeInt(headerColor != null ? headerColor : -1); parcel.writeInt(starStatus); } @@ -97,14 +97,14 @@ public class LoyaltyCard implements Parcelable { int balanceTypeColumn = cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BALANCE_TYPE); int headerColorColumn = cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.HEADER_COLOR); - BarcodeFormat barcodeType = null; + CatimaBarcode barcodeType = null; Currency balanceType = null; Date expiry = null; Integer headerColor = null; if (cursor.isNull(barcodeTypeColumn) == false) { - barcodeType = BarcodeFormat.valueOf(cursor.getString(barcodeTypeColumn)); + barcodeType = CatimaBarcode.fromName(cursor.getString(barcodeTypeColumn)); } if (cursor.isNull(balanceTypeColumn) == false) diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index 1e442843e..2759455b9 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -150,7 +150,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity (Currency) (fieldName == LoyaltyCardField.balanceType ? value : loyaltyCard.balanceType), (String) (fieldName == LoyaltyCardField.cardId ? value : loyaltyCard.cardId), (String) (fieldName == LoyaltyCardField.barcodeId ? value : loyaltyCard.barcodeId), - (BarcodeFormat) (fieldName == LoyaltyCardField.barcodeType ? value : loyaltyCard.barcodeType), + (CatimaBarcode) (fieldName == LoyaltyCardField.barcodeType ? value : loyaltyCard.barcodeType), (Integer) (fieldName == LoyaltyCardField.headerColor ? value : loyaltyCard.headerColor), (int) (fieldName == LoyaltyCardField.starStatus ? value : loyaltyCard.starStatus) ); @@ -462,11 +462,11 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity updateTempState(LoyaltyCardField.barcodeType, null); } else { try { - BarcodeFormat barcodeFormat = BarcodeFormat.valueOf(s.toString()); + CatimaBarcode barcodeFormat = CatimaBarcode.fromPrettyName(s.toString()); updateTempState(LoyaltyCardField.barcodeType, barcodeFormat); - if (!BarcodeSelectorActivity.SUPPORTED_BARCODE_TYPES.contains(barcodeFormat.name())) { + if (!barcodeFormat.isSupported()) { Toast.makeText(LoyaltyCardEditActivity.this, getString(R.string.unsupportedBarcodeType), Toast.LENGTH_LONG).show(); } } catch (IllegalArgumentException e) {} @@ -478,7 +478,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity @Override public void afterTextChanged(Editable s) { - ArrayList barcodeList = new ArrayList<>(BarcodeSelectorActivity.SUPPORTED_BARCODE_TYPES); + ArrayList barcodeList = new ArrayList<>(CatimaBarcode.barcodePrettyNames); barcodeList.add(0, getString(R.string.noBarcode)); ArrayAdapter barcodeAdapter = new ArrayAdapter<>(LoyaltyCardEditActivity.this, android.R.layout.select_dialog_item, barcodeList); barcodeTypeField.setAdapter(barcodeAdapter); @@ -560,7 +560,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity formatBalanceCurrencyField(tempLoyaltyCard.balanceType); cardIdFieldView.setText(tempLoyaltyCard.cardId); barcodeIdField.setText(tempLoyaltyCard.barcodeId != null ? tempLoyaltyCard.barcodeId : getString(R.string.sameAsCardId)); - barcodeTypeField.setText(tempLoyaltyCard.barcodeType != null ? tempLoyaltyCard.barcodeType.name() : getString(R.string.noBarcode)); + barcodeTypeField.setText(tempLoyaltyCard.barcodeType != null ? tempLoyaltyCard.barcodeType.prettyName() : getString(R.string.noBarcode)); if(groupsChips.getChildCount() == 0) { @@ -620,7 +620,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity // Update from intent if (barcodeType != null) { try { - barcodeTypeField.setText(BarcodeFormat.valueOf(barcodeType).name()); + barcodeTypeField.setText(CatimaBarcode.fromName(barcodeType).prettyName()); } catch (IllegalArgumentException e) { barcodeTypeField.setText(getString(R.string.noBarcode)); } @@ -1126,16 +1126,16 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity private void generateOrHideBarcode() { String cardIdString = tempLoyaltyCard.barcodeId != null ? tempLoyaltyCard.barcodeId : tempLoyaltyCard.cardId; - BarcodeFormat barcodeFormat = tempLoyaltyCard.barcodeType; + CatimaBarcode barcodeFormat = tempLoyaltyCard.barcodeType; - if (barcodeFormat == null || cardIdString.isEmpty() || !BarcodeSelectorActivity.SUPPORTED_BARCODE_TYPES.contains(barcodeFormat.name())) { + if (barcodeFormat == null || cardIdString.isEmpty() || !barcodeFormat.isSupported()) { hideBarcode(); } else { generateBarcode(cardIdString, barcodeFormat); } } - private void generateBarcode(String cardIdString, BarcodeFormat barcodeFormat) { + private void generateBarcode(String cardIdString, CatimaBarcode barcodeFormat) { if (barcodeImage.getHeight() == 0) { Log.d(TAG, "ImageView size is not known known at start, waiting for load"); // The size of the ImageView is not yet available as it has not diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java index c47708e43..7ecd7308b 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java @@ -80,7 +80,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements String cardIdString; String barcodeIdString; - BarcodeFormat format; + CatimaBarcode format; FloatingActionButton editButton; @@ -538,7 +538,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements // Set shadow colour of store text so even same color on same color would be readable storeName.setShadowLayer(1, 1, 1, backgroundNeedsDarkIcons ? Color.BLACK : Color.WHITE); - if (format != null && !BarcodeSelectorActivity.SUPPORTED_BARCODE_TYPES.contains(format.name())) { + if (format != null && !format.isSupported()) { isBarcodeSupported = false; Toast.makeText(this, getString(R.string.unsupportedBarcodeType), Toast.LENGTH_LONG).show(); diff --git a/app/src/main/java/protect/card_locker/ScanActivity.java b/app/src/main/java/protect/card_locker/ScanActivity.java index e68dfa78a..826263c86 100644 --- a/app/src/main/java/protect/card_locker/ScanActivity.java +++ b/app/src/main/java/protect/card_locker/ScanActivity.java @@ -81,7 +81,7 @@ public class ScanActivity extends CatimaAppCompatActivity { Intent scanResult = new Intent(); Bundle scanResultBundle = new Bundle(); scanResultBundle.putString(BarcodeSelectorActivity.BARCODE_CONTENTS, result.getText()); - scanResultBundle.putString(BarcodeSelectorActivity.BARCODE_FORMAT, result.getBarcodeFormat().toString()); + scanResultBundle.putString(BarcodeSelectorActivity.BARCODE_FORMAT, result.getBarcodeFormat().name()); if (addGroup != null) { scanResultBundle.putString(LoyaltyCardEditActivity.BUNDLE_ADDGROUP, addGroup); } diff --git a/app/src/main/java/protect/card_locker/importexport/CatimaExporter.java b/app/src/main/java/protect/card_locker/importexport/CatimaExporter.java index 00050c691..47910b122 100644 --- a/app/src/main/java/protect/card_locker/importexport/CatimaExporter.java +++ b/app/src/main/java/protect/card_locker/importexport/CatimaExporter.java @@ -143,7 +143,7 @@ public class CatimaExporter implements Exporter card.balanceType, card.cardId, card.barcodeId, - card.barcodeType, + card.barcodeType != null ? card.barcodeType.name() : "", card.headerColor, card.starStatus); diff --git a/app/src/main/java/protect/card_locker/importexport/CatimaImporter.java b/app/src/main/java/protect/card_locker/importexport/CatimaImporter.java index 61ca964e6..1b8f9a386 100644 --- a/app/src/main/java/protect/card_locker/importexport/CatimaImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/CatimaImporter.java @@ -27,6 +27,7 @@ import java.util.Currency; import java.util.Date; import java.util.List; +import protect.card_locker.CatimaBarcode; import protect.card_locker.DBHelper; import protect.card_locker.FormatException; import protect.card_locker.Group; @@ -331,11 +332,11 @@ public class CatimaImporter implements Importer barcodeId = null; } - BarcodeFormat barcodeType = null; + CatimaBarcode barcodeType = null; String unparsedBarcodeType = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE, record, ""); if(!unparsedBarcodeType.isEmpty()) { - barcodeType = BarcodeFormat.valueOf(unparsedBarcodeType); + barcodeType = CatimaBarcode.fromName(unparsedBarcodeType); } Integer headerColor = null; 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 770ee1108..f2e7e6007 100644 --- a/app/src/main/java/protect/card_locker/importexport/FidmeImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/FidmeImporter.java @@ -20,6 +20,7 @@ import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.text.ParseException; +import protect.card_locker.CatimaBarcode; import protect.card_locker.DBHelper; import protect.card_locker.FormatException; @@ -127,7 +128,7 @@ public class FidmeImporter implements Importer // 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; + CatimaBarcode barcodeType = null; // No favourite data in the export either int starStatus = 0; diff --git a/app/src/main/java/protect/card_locker/importexport/StocardImporter.java b/app/src/main/java/protect/card_locker/importexport/StocardImporter.java index fefeeebe2..feb491eb0 100644 --- a/app/src/main/java/protect/card_locker/importexport/StocardImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/StocardImporter.java @@ -23,6 +23,7 @@ import java.nio.charset.StandardCharsets; import java.text.ParseException; import java.util.HashMap; +import protect.card_locker.CatimaBarcode; import protect.card_locker.DBHelper; import protect.card_locker.FormatException; import protect.card_locker.R; @@ -165,12 +166,12 @@ public class StocardImporter implements Importer String note = (String) Utils.mapGetOrDefault(loyaltyCardData, "note", ""); String cardId = (String) loyaltyCardData.get("cardId"); String barcodeTypeString = (String) Utils.mapGetOrDefault(loyaltyCardData, "barcodeType", providerData != null ? providerData.get("barcodeFormat") : null); - BarcodeFormat barcodeType = null; + CatimaBarcode barcodeType = null; if (barcodeTypeString != null) { if (barcodeTypeString.equals("RSS_DATABAR_EXPANDED")) { - barcodeType = BarcodeFormat.RSS_EXPANDED; + barcodeType = CatimaBarcode.fromBarcode(BarcodeFormat.RSS_EXPANDED); } else { - barcodeType = BarcodeFormat.valueOf(barcodeTypeString); + barcodeType = CatimaBarcode.fromName(barcodeTypeString); } } 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 d9734284b..2b8531d93 100644 --- a/app/src/main/java/protect/card_locker/importexport/VoucherVaultImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/VoucherVaultImporter.java @@ -23,6 +23,7 @@ import java.util.Currency; import java.util.Date; import java.util.TimeZone; +import protect.card_locker.CatimaBarcode; import protect.card_locker.DBHelper; import protect.card_locker.FormatException; @@ -74,24 +75,24 @@ public class VoucherVaultImporter implements Importer String cardId = jsonCard.getString("code"); - BarcodeFormat barcodeType = null; + CatimaBarcode barcodeType = null; String codeTypeFromJSON = jsonCard.getString("codeType"); switch (codeTypeFromJSON) { case "CODE128": - barcodeType = BarcodeFormat.CODE_128; + barcodeType = CatimaBarcode.fromBarcode(BarcodeFormat.CODE_128); break; case "CODE39": - barcodeType = BarcodeFormat.CODE_39; + barcodeType = CatimaBarcode.fromBarcode(BarcodeFormat.CODE_39); break; case "EAN13": - barcodeType = BarcodeFormat.EAN_13; + barcodeType = CatimaBarcode.fromBarcode(BarcodeFormat.EAN_13); break; case "PDF417": - barcodeType = BarcodeFormat.PDF_417; + barcodeType = CatimaBarcode.fromBarcode(BarcodeFormat.PDF_417); break; case "QR": - barcodeType = BarcodeFormat.QR_CODE; + barcodeType = CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE); break; case "TEXT": break; diff --git a/app/src/test/java/protect/card_locker/DatabaseTest.java b/app/src/test/java/protect/card_locker/DatabaseTest.java index 632bd3341..9846065d7 100644 --- a/app/src/test/java/protect/card_locker/DatabaseTest.java +++ b/app/src/test/java/protect/card_locker/DatabaseTest.java @@ -45,7 +45,7 @@ public class DatabaseTest public void addRemoveOneGiftCard() { assertEquals(0, db.getLoyaltyCardCount()); - long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, DEFAULT_HEADER_COLOR, 0); + long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), DEFAULT_HEADER_COLOR, 0); boolean result = (id != -1); assertTrue(result); assertEquals(1, db.getLoyaltyCardCount()); @@ -59,7 +59,7 @@ public class DatabaseTest assertEquals(null, loyaltyCard.balanceType); assertEquals("cardId", loyaltyCard.cardId); assertEquals(null, loyaltyCard.barcodeId); - assertEquals(BarcodeFormat.UPC_A, loyaltyCard.barcodeType); + assertEquals(BarcodeFormat.UPC_A, loyaltyCard.barcodeType.format()); assertEquals(DEFAULT_HEADER_COLOR, loyaltyCard.headerColor); assertEquals(0, loyaltyCard.starStatus); @@ -72,12 +72,12 @@ public class DatabaseTest @Test public void updateGiftCard() { - long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, DEFAULT_HEADER_COLOR, 0); + long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), DEFAULT_HEADER_COLOR, 0); boolean result = (id != -1); assertTrue(result); assertEquals(1, db.getLoyaltyCardCount()); - result = db.updateLoyaltyCard(1, "store1", "note1", null, new BigDecimal("10.00"), Currency.getInstance("EUR"), "cardId1", null, BarcodeFormat.AZTEC, DEFAULT_HEADER_COLOR); + result = db.updateLoyaltyCard(1, "store1", "note1", null, new BigDecimal("10.00"), Currency.getInstance("EUR"), "cardId1", null, CatimaBarcode.fromBarcode(BarcodeFormat.AZTEC), DEFAULT_HEADER_COLOR); assertTrue(result); assertEquals(1, db.getLoyaltyCardCount()); @@ -90,7 +90,7 @@ public class DatabaseTest assertEquals(Currency.getInstance("EUR"), loyaltyCard.balanceType); assertEquals("cardId1", loyaltyCard.cardId); assertEquals(null, loyaltyCard.barcodeId); - assertEquals(BarcodeFormat.AZTEC, loyaltyCard.barcodeType); + assertEquals(BarcodeFormat.AZTEC, loyaltyCard.barcodeType.format()); assertEquals(DEFAULT_HEADER_COLOR, loyaltyCard.headerColor); assertEquals(0, loyaltyCard.starStatus); } @@ -98,7 +98,7 @@ public class DatabaseTest @Test public void updateGiftCardOnlyStar() { - long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, DEFAULT_HEADER_COLOR, 0); + long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), DEFAULT_HEADER_COLOR, 0); boolean result = (id != -1); assertTrue(result); assertEquals(1, db.getLoyaltyCardCount()); @@ -116,7 +116,7 @@ public class DatabaseTest assertEquals(null, loyaltyCard.balanceType); assertEquals("cardId", loyaltyCard.cardId); assertEquals(null, loyaltyCard.barcodeId); - assertEquals(BarcodeFormat.UPC_A, loyaltyCard.barcodeType); + assertEquals(BarcodeFormat.UPC_A, loyaltyCard.barcodeType.format()); assertEquals(DEFAULT_HEADER_COLOR, loyaltyCard.headerColor); assertEquals(1, loyaltyCard.starStatus); } @@ -127,7 +127,7 @@ public class DatabaseTest assertEquals(0, db.getLoyaltyCardCount()); boolean result = db.updateLoyaltyCard(1, "store1", "note1", null, new BigDecimal("0"), null, "cardId1", - null, BarcodeFormat.UPC_A, DEFAULT_HEADER_COLOR); + null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), DEFAULT_HEADER_COLOR); assertEquals(false, result); assertEquals(0, db.getLoyaltyCardCount()); } @@ -164,7 +164,7 @@ public class DatabaseTest for(int index = CARDS_TO_ADD-1; index >= 0; index--) { long id = db.insertLoyaltyCard("store" + index, "note" + index, null, new BigDecimal("0"), null, "cardId" + index, - null, BarcodeFormat.UPC_A, index, 0); + null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), index, 0); boolean result = (id != -1); assertTrue(result); } @@ -210,12 +210,12 @@ public class DatabaseTest { if (index == CARDS_TO_ADD-1) { id = db.insertLoyaltyCard("store" + index, "note" + index, null, new BigDecimal("0"), null, "cardId" + index, - null, BarcodeFormat.UPC_A, index, 1); + null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), index, 1); } else { id = db.insertLoyaltyCard("store" + index, "note" + index, null, new BigDecimal("0"), null, "cardId" + index, - null, BarcodeFormat.UPC_A, index, 0); + null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), index, 0); } boolean result = (id != -1); assertTrue(result); @@ -316,7 +316,7 @@ public class DatabaseTest { // Create card assertEquals(0, db.getLoyaltyCardCount()); - long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, DEFAULT_HEADER_COLOR, 0); + long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), DEFAULT_HEADER_COLOR, 0); boolean result = (id != -1); assertTrue(result); assertEquals(1, db.getLoyaltyCardCount()); @@ -433,7 +433,7 @@ public class DatabaseTest { // Create card assertEquals(0, db.getLoyaltyCardCount()); - long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, DEFAULT_HEADER_COLOR, 0); + long id = db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), DEFAULT_HEADER_COLOR, 0); boolean result = (id != -1); assertTrue(result); assertEquals(1, db.getLoyaltyCardCount()); @@ -499,7 +499,7 @@ public class DatabaseTest assertEquals(null, card.balanceType); assertEquals("cardId", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.UPC_A, card.barcodeType); + assertEquals(BarcodeFormat.UPC_A, card.barcodeType.format()); assertEquals(null, card.headerColor); assertEquals(0, card.starStatus); diff --git a/app/src/test/java/protect/card_locker/ImportExportTest.java b/app/src/test/java/protect/card_locker/ImportExportTest.java index 725310b89..efae94cd1 100644 --- a/app/src/test/java/protect/card_locker/ImportExportTest.java +++ b/app/src/test/java/protect/card_locker/ImportExportTest.java @@ -63,7 +63,7 @@ public class ImportExportTest private final int MONTHS_PER_YEAR = 12; private final String BARCODE_DATA = "428311627547"; - private final BarcodeFormat BARCODE_TYPE = BarcodeFormat.UPC_A; + private final CatimaBarcode BARCODE_TYPE = CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A); @Before public void setUp() @@ -138,7 +138,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BARCODE_TYPE, card.barcodeType); + assertEquals(BARCODE_TYPE.format(), card.barcodeType.format()); assertEquals(Integer.valueOf(0), card.headerColor); assertEquals(0, card.starStatus); @@ -154,7 +154,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BARCODE_TYPE, card.barcodeType); + assertEquals(BARCODE_TYPE.format(), card.barcodeType.format()); assertEquals(Integer.valueOf(0), card.headerColor); assertEquals(0, card.starStatus); @@ -171,7 +171,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BARCODE_TYPE, card.barcodeType); + assertEquals(BARCODE_TYPE.format(), card.barcodeType.format()); assertEquals(Integer.valueOf(0), card.headerColor); assertEquals(0, card.starStatus); @@ -189,7 +189,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BARCODE_TYPE, card.barcodeType); + assertEquals(BARCODE_TYPE.format(), card.barcodeType.format()); assertEquals(Integer.valueOf(0), card.headerColor); assertEquals(0, card.starStatus); @@ -234,7 +234,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BARCODE_TYPE, card.barcodeType); + assertEquals(BARCODE_TYPE.format(), card.barcodeType.format()); assertEquals(Integer.valueOf(index), card.headerColor); assertEquals(0, card.starStatus); @@ -268,7 +268,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BARCODE_TYPE, card.barcodeType); + assertEquals(BARCODE_TYPE.format(), card.barcodeType.format()); assertEquals(Integer.valueOf(index), card.headerColor); assertEquals(1, card.starStatus); @@ -290,7 +290,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals(BARCODE_DATA, card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BARCODE_TYPE, card.barcodeType); + assertEquals(BARCODE_TYPE.format(), card.barcodeType.format()); assertEquals(Integer.valueOf(index), card.headerColor); assertEquals(0, card.starStatus); @@ -626,7 +626,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.AZTEC, card.barcodeType); + assertEquals(BarcodeFormat.AZTEC, card.barcodeType.format()); assertNull(card.headerColor); assertEquals(0, card.starStatus); @@ -664,7 +664,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.AZTEC, card.barcodeType); + assertEquals(BarcodeFormat.AZTEC, card.barcodeType.format()); assertNull(card.headerColor); assertEquals(0, card.starStatus); @@ -765,7 +765,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.AZTEC, card.barcodeType); + assertEquals(BarcodeFormat.AZTEC, card.barcodeType.format()); assertEquals(1, (long) card.headerColor); assertEquals(1, card.starStatus); @@ -803,7 +803,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.AZTEC, card.barcodeType); + assertEquals(BarcodeFormat.AZTEC, card.barcodeType.format()); assertEquals(1, (long) card.headerColor); assertEquals(0, card.starStatus); @@ -860,7 +860,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals("12345", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.AZTEC, card.barcodeType); + assertEquals(BarcodeFormat.AZTEC, card.barcodeType.format()); assertEquals(1, (long) card.headerColor); assertEquals(0, card.starStatus); @@ -884,7 +884,7 @@ public class ImportExportTest HashMap loyaltyCardBackImages = new HashMap<>(); // Create card 1 - int loyaltyCardId = (int) db.insertLoyaltyCard("Card 1", "Note 1", new Date(1618053234), new BigDecimal("100"), Currency.getInstance("USD"), "1234", "5432", BarcodeFormat.QR_CODE, 1, 0); + int loyaltyCardId = (int) db.insertLoyaltyCard("Card 1", "Note 1", new Date(1618053234), new BigDecimal("100"), Currency.getInstance("USD"), "1234", "5432", CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE), 1, 0); loyaltyCardHashMap.put(loyaltyCardId, db.getLoyaltyCard(loyaltyCardId)); db.insertGroup("One"); List groups = Arrays.asList(db.getGroup("One")); @@ -925,7 +925,7 @@ public class ImportExportTest assertEquals(loyaltyCard.cardId, dbLoyaltyCard.cardId); assertEquals(loyaltyCard.barcodeId, dbLoyaltyCard.barcodeId); assertEquals(loyaltyCard.starStatus, dbLoyaltyCard.starStatus); - assertEquals(loyaltyCard.barcodeType, dbLoyaltyCard.barcodeType); + assertEquals(loyaltyCard.barcodeType != null ? loyaltyCard.barcodeType.format() : null, dbLoyaltyCard.barcodeType != null? dbLoyaltyCard.barcodeType.format() : null); assertEquals(loyaltyCard.balanceType, dbLoyaltyCard.balanceType); assertEquals(loyaltyCard.headerColor, dbLoyaltyCard.headerColor); @@ -1027,7 +1027,7 @@ public class ImportExportTest assertEquals(Currency.getInstance("USD"), card1.balanceType); assertEquals("1234", card1.cardId); assertEquals("5432", card1.barcodeId); - assertEquals(BarcodeFormat.QR_CODE, card1.barcodeType); + assertEquals(BarcodeFormat.QR_CODE, card1.barcodeType.format()); assertEquals(1, (long) card1.headerColor); assertEquals(0, card1.starStatus); assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card1.id, true)); @@ -1102,7 +1102,7 @@ public class ImportExportTest assertEquals(null, card5.balanceType); assertEquals("98765432", card5.cardId); assertEquals("23456", card5.barcodeId); - assertEquals(BarcodeFormat.CODE_128, card5.barcodeType); + assertEquals(BarcodeFormat.CODE_128, card5.barcodeType.format()); assertEquals(-10902850, (long) card5.headerColor); assertEquals(0, card5.starStatus); assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card5.id, true)); @@ -1117,7 +1117,7 @@ public class ImportExportTest assertEquals(Currency.getInstance("EUR"), card6.balanceType); assertEquals("a", card6.cardId); assertEquals("-5317", card6.barcodeId); - assertEquals(BarcodeFormat.AZTEC, card6.barcodeType); + assertEquals(BarcodeFormat.AZTEC, card6.barcodeType.format()); assertEquals(null, card6.headerColor); assertEquals(0, card6.starStatus); assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card6.id, true)); @@ -1198,7 +1198,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals("55555", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.EAN_13, card.barcodeType); + assertEquals(BarcodeFormat.EAN_13, card.barcodeType.format()); assertEquals(0, card.starStatus); assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 1, true)); @@ -1213,7 +1213,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals("7649484", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.EAN_13, card.barcodeType); + assertEquals(BarcodeFormat.EAN_13, card.barcodeType.format()); assertEquals(0, card.starStatus); assertTrue(BitmapFactory.decodeStream(getClass().getResourceAsStream("stocard-front.jpg")).sameAs(Utils.retrieveCardImage(activity.getApplicationContext(), 2, true))); @@ -1229,7 +1229,7 @@ public class ImportExportTest assertEquals(null, card.balanceType); assertEquals("(01)09010374000019(21)02097564604859211217(10)01231287693", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.RSS_EXPANDED, card.barcodeType); + assertEquals(BarcodeFormat.RSS_EXPANDED, card.barcodeType.format()); assertEquals(0, card.starStatus); assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 3, true)); @@ -1281,7 +1281,7 @@ public class ImportExportTest assertEquals(Currency.getInstance("USD"), card.balanceType); assertEquals("123456", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.CODE_128, card.barcodeType); + assertEquals(BarcodeFormat.CODE_128, card.barcodeType.format()); assertEquals(Color.GRAY, (long) card.headerColor); assertEquals(0, card.starStatus); @@ -1294,7 +1294,7 @@ public class ImportExportTest assertEquals(Currency.getInstance("USD"), card.balanceType); assertEquals("26846363", card.cardId); assertEquals(null, card.barcodeId); - assertEquals(BarcodeFormat.CODE_39, card.barcodeType); + assertEquals(BarcodeFormat.CODE_39, card.barcodeType.format()); assertEquals(Color.rgb(128, 0, 128), (long) card.headerColor); assertEquals(0, card.starStatus); diff --git a/app/src/test/java/protect/card_locker/ImportURITest.java b/app/src/test/java/protect/card_locker/ImportURITest.java index 3a15d4796..b3e89909c 100644 --- a/app/src/test/java/protect/card_locker/ImportURITest.java +++ b/app/src/test/java/protect/card_locker/ImportURITest.java @@ -42,7 +42,7 @@ public class ImportURITest { // Generate card Date date = new Date(); - db.insertLoyaltyCard("store", "This note contains evil symbols like & and = that will break the parser if not escaped right $#!%()*+;:á", date, new BigDecimal("100"), null, BarcodeFormat.UPC_E.toString(), BarcodeFormat.UPC_A.toString(), BarcodeFormat.QR_CODE, Color.BLACK, 1); + db.insertLoyaltyCard("store", "This note contains evil symbols like & and = that will break the parser if not escaped right $#!%()*+;:á", date, new BigDecimal("100"), null, BarcodeFormat.UPC_E.toString(), BarcodeFormat.UPC_A.toString(), CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE), Color.BLACK, 1); // Get card LoyaltyCard card = db.getLoyaltyCard(1); @@ -61,7 +61,7 @@ public class ImportURITest { assertEquals(card.balanceType, parsedCard.balanceType); assertEquals(card.cardId, parsedCard.cardId); assertEquals(card.barcodeId, parsedCard.barcodeId); - assertEquals(card.barcodeType, parsedCard.barcodeType); + assertEquals(card.barcodeType.format(), parsedCard.barcodeType.format()); assertEquals(card.headerColor, parsedCard.headerColor); // No export of starStatus for export URL foreseen therefore 0 will be imported assertEquals(0, parsedCard.starStatus); @@ -70,7 +70,7 @@ public class ImportURITest { @Test public void ensureNoCrashOnMissingHeaderFields() throws InvalidObjectException, UnsupportedEncodingException { // Generate card - db.insertLoyaltyCard("store", "note", null, new BigDecimal("10.00"), Currency.getInstance("EUR"), BarcodeFormat.UPC_A.toString(), null, BarcodeFormat.QR_CODE, null, 0); + db.insertLoyaltyCard("store", "note", null, new BigDecimal("10.00"), Currency.getInstance("EUR"), BarcodeFormat.UPC_A.toString(), null, CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE), null, 0); // Get card LoyaltyCard card = db.getLoyaltyCard(1); @@ -89,7 +89,7 @@ public class ImportURITest { assertEquals(card.balanceType, parsedCard.balanceType); assertEquals(card.cardId, parsedCard.cardId); assertEquals(card.barcodeId, parsedCard.barcodeId); - assertEquals(card.barcodeType, parsedCard.barcodeType); + assertEquals(card.barcodeType.format(), parsedCard.barcodeType.format()); assertNull(parsedCard.headerColor); // No export of starStatus for export URL foreseen therefore 0 will be imported assertEquals(0, parsedCard.starStatus); @@ -148,7 +148,7 @@ public class ImportURITest { assertEquals(null, parsedCard.balanceType); assertEquals("12345", parsedCard.cardId); assertEquals(null, parsedCard.barcodeId); - assertEquals(BarcodeFormat.ITF, parsedCard.barcodeType); + assertEquals(BarcodeFormat.ITF, parsedCard.barcodeType.format()); assertEquals(Integer.valueOf(-416706), parsedCard.headerColor); assertEquals(0, parsedCard.starStatus); } diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java index c67aa27ba..4f35bcf12 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardCursorAdapterTest.java @@ -120,7 +120,7 @@ public class LoyaltyCardCursorAdapterTest @Test public void TestCursorAdapterEmptyNote() { - db.insertLoyaltyCard("store", "", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("store", "", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); LoyaltyCard card = db.getLoyaltyCard(1); Cursor cursor = db.getLoyaltyCardCursor(); @@ -136,7 +136,7 @@ public class LoyaltyCardCursorAdapterTest @Test public void TestCursorAdapterWithNote() { - db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); LoyaltyCard card = db.getLoyaltyCard(1); Cursor cursor = db.getLoyaltyCardCursor(); @@ -156,7 +156,7 @@ public class LoyaltyCardCursorAdapterTest Date expiryDate = new Date(); String dateString = DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate); - db.insertLoyaltyCard("store", "note", expiryDate, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("store", "note", expiryDate, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); LoyaltyCard card = db.getLoyaltyCard(1); Cursor cursor = db.getLoyaltyCardCursor(); @@ -177,9 +177,9 @@ public class LoyaltyCardCursorAdapterTest @Test public void TestCursorAdapterStarring() { - assertNotEquals(-1, db.insertLoyaltyCard("storeA", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0)); - assertNotEquals(-1, db.insertLoyaltyCard("storeB", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 1)); - assertNotEquals(-1, db.insertLoyaltyCard("storeC", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 1)); + assertNotEquals(-1, db.insertLoyaltyCard("storeA", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0)); + assertNotEquals(-1, db.insertLoyaltyCard("storeB", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 1)); + assertNotEquals(-1, db.insertLoyaltyCard("storeC", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 1)); assertEquals(3, db.getLoyaltyCardCount()); @@ -220,7 +220,7 @@ public class LoyaltyCardCursorAdapterTest @Test public void TestCursorAdapter0Points() { - db.insertLoyaltyCard("store", "", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("store", "", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); LoyaltyCard card = db.getLoyaltyCard(1); Cursor cursor = db.getLoyaltyCardCursor(); @@ -236,7 +236,7 @@ public class LoyaltyCardCursorAdapterTest @Test public void TestCursorAdapter0EUR() { - db.insertLoyaltyCard("store", "", null, new BigDecimal("0"), Currency.getInstance("EUR"), "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("store", "", null, new BigDecimal("0"), Currency.getInstance("EUR"), "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); LoyaltyCard card = db.getLoyaltyCard(1); Cursor cursor = db.getLoyaltyCardCursor(); @@ -252,7 +252,7 @@ public class LoyaltyCardCursorAdapterTest @Test public void TestCursorAdapter100Points() { - db.insertLoyaltyCard("store", "note", null, new BigDecimal("100"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("store", "note", null, new BigDecimal("100"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); LoyaltyCard card = db.getLoyaltyCard(1); Cursor cursor = db.getLoyaltyCardCursor(); @@ -268,7 +268,7 @@ public class LoyaltyCardCursorAdapterTest @Test public void TestCursorAdapter10USD() { - db.insertLoyaltyCard("store", "note", null, new BigDecimal("10.00"), Currency.getInstance("USD"), "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("store", "note", null, new BigDecimal("10.00"), Currency.getInstance("USD"), "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); LoyaltyCard card = db.getLoyaltyCard(1); Cursor cursor = db.getLoyaltyCardCursor(); diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java index 1043005a9..62065d859 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java @@ -70,10 +70,10 @@ import static org.robolectric.Shadows.shadowOf; public class LoyaltyCardViewActivityTest { private final String BARCODE_DATA = "428311627547"; - private final BarcodeFormat BARCODE_TYPE = BarcodeFormat.UPC_A; + private final CatimaBarcode BARCODE_TYPE = CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A); private final String EAN_BARCODE_DATA = "4763705295336"; - private final BarcodeFormat EAN_BARCODE_TYPE = BarcodeFormat.EAN_13; + private final CatimaBarcode EAN_BARCODE_TYPE = CatimaBarcode.fromBarcode(BarcodeFormat.EAN_13); enum ViewMode { @@ -209,7 +209,7 @@ public class LoyaltyCardViewActivityTest } else { - assertEquals(BarcodeFormat.valueOf(barcodeType), card.barcodeType); + assertEquals(CatimaBarcode.fromName(barcodeType).format(), card.barcodeType.format()); } assertNotNull(card.headerColor); @@ -238,7 +238,7 @@ public class LoyaltyCardViewActivityTest Intent resultIntent = new Intent(intent); Bundle resultBundle = new Bundle(); resultBundle.putString(BarcodeSelectorActivity.BARCODE_CONTENTS, BARCODE_DATA); - resultBundle.putString(BarcodeSelectorActivity.BARCODE_FORMAT, String.valueOf(BARCODE_TYPE)); + resultBundle.putString(BarcodeSelectorActivity.BARCODE_FORMAT, BARCODE_TYPE.name()); resultIntent.putExtras(resultBundle); // Respond to image capture, success @@ -379,7 +379,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); // Check default settings - checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, newCard ? "" : "store", newCard ? "" : "note", context.getString(R.string.never), "0", context.getString(R.string.points), newCard ? "" : EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), newCard ? context.getString(R.string.noBarcode) : EAN_BARCODE_TYPE.name(), null, null); + checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, newCard ? "" : "store", newCard ? "" : "note", context.getString(R.string.never), "0", context.getString(R.string.points), newCard ? "" : EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), newCard ? context.getString(R.string.noBarcode) : EAN_BARCODE_TYPE.prettyName(), null, null); // Change everything final EditText storeField = activity.findViewById(R.id.storeNameEdit); @@ -405,14 +405,14 @@ public class LoyaltyCardViewActivityTest balanceTypeField.setText(currency.getSymbol()); cardIdField.setText("12345678"); barcodeField.setText("87654321"); - barcodeTypeField.setText(BarcodeFormat.QR_CODE.name()); + barcodeTypeField.setText(CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE).prettyName()); LoyaltyCardEditActivity.setCardImage(frontImageView, frontBitmap); LoyaltyCardEditActivity.setCardImage(backImageView, backBitmap); shadowOf(getMainLooper()).idle(); // Check if changed - checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, "correct store", "correct note", DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate), "100.00", currency.getSymbol(), "12345678", "87654321", BarcodeFormat.QR_CODE.name(), frontBitmap, backBitmap); + checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, "correct store", "correct note", DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate), "100.00", currency.getSymbol(), "12345678", "87654321", CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE).prettyName(), frontBitmap, backBitmap); // Resume activityController.pause(); @@ -421,7 +421,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); // Check if no changes lost - checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, "correct store", "correct note", DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate), "100.00", currency.getSymbol(), "12345678", "87654321", BarcodeFormat.QR_CODE.name(), frontBitmap, backBitmap); + checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, "correct store", "correct note", DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate), "100.00", currency.getSymbol(), "12345678", "87654321", CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE).prettyName(), frontBitmap, backBitmap); // Rotate to landscape activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); @@ -429,7 +429,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); // Check if no changes lost - checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, "correct store", "correct note", DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate), "100.00", currency.getSymbol(), "12345678", "87654321", BarcodeFormat.QR_CODE.name(), frontBitmap, backBitmap); + checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, "correct store", "correct note", DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate), "100.00", currency.getSymbol(), "12345678", "87654321", CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE).prettyName(), frontBitmap, backBitmap); // Rotate to portrait shadowOf(getMainLooper()).idle(); @@ -437,7 +437,7 @@ public class LoyaltyCardViewActivityTest activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // Check if no changes lost - checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, "correct store", "correct note", DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate), "100.00", currency.getSymbol(), "12345678", "87654321", BarcodeFormat.QR_CODE.name(), frontBitmap, backBitmap); + checkAllFields(activity, newCard ? ViewMode.ADD_CARD : ViewMode.UPDATE_CARD, "correct store", "correct note", DateFormat.getDateInstance(DateFormat.LONG).format(expiryDate), "100.00", currency.getSymbol(), "12345678", "87654321", CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE).prettyName(), frontBitmap, backBitmap); } } @@ -517,7 +517,7 @@ public class LoyaltyCardViewActivityTest // Complete barcode capture successfully captureBarcodeWithResult(activity, true); - checkAllFields(activity, ViewMode.ADD_CARD, "", "", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.ADD_CARD, "", "", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.prettyName(), null, null); shadowOf(getMainLooper()).idle(); @@ -562,7 +562,7 @@ public class LoyaltyCardViewActivityTest // Complete barcode capture successfully captureBarcodeWithResult(activity, true); - checkAllFields(activity, ViewMode.ADD_CARD, "", "", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.ADD_CARD, "", "", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.prettyName(), null, null); // Cancel the loyalty card creation assertEquals(false, activity.isFinishing()); @@ -618,7 +618,7 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -656,12 +656,12 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); // Complete barcode capture successfully captureBarcodeWithResult(activity, true); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -680,12 +680,12 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); // Complete barcode capture successfully captureBarcodeWithResult(activity, true); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.prettyName(), null, null); // Cancel the loyalty card creation assertEquals(false, activity.isFinishing()); @@ -718,7 +718,7 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); // Set date to today MaterialAutoCompleteTextView expiryField = activity.findViewById(R.id.expiryField); @@ -732,7 +732,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", DateFormat.getDateInstance(DateFormat.LONG).format(new Date()), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", DateFormat.getDateInstance(DateFormat.LONG).format(new Date()), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -751,13 +751,13 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", DateFormat.getDateInstance(DateFormat.LONG).format(new Date()), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", DateFormat.getDateInstance(DateFormat.LONG).format(new Date()), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); // Set date to never MaterialAutoCompleteTextView expiryField = activity.findViewById(R.id.expiryField); expiryField.setText(expiryField.getAdapter().getItem(0).toString(), false); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -776,7 +776,7 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); // Set balance to 10 points EditText balanceField = activity.findViewById(R.id.balanceField); @@ -827,7 +827,7 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "10.00", "$", EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "10.00", "$", EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); shadowOf(getMainLooper()).idle(); @@ -849,7 +849,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", "₩", EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", "₩", EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -868,7 +868,7 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); // Change barcode ID EditText barcodeField = activity.findViewById(R.id.barcodeIdField); @@ -881,7 +881,7 @@ public class LoyaltyCardViewActivityTest AlertDialog updateBarcodeIdDialog = (AlertDialog) (ShadowDialog.getLatestDialog()); assertNull(updateBarcodeIdDialog); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, "123456", EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, "123456", EAN_BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -900,7 +900,7 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); // Change card ID EditText cardIdField = activity.findViewById(R.id.cardIdView); @@ -915,7 +915,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), "123456", context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), "123456", context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -934,7 +934,7 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, "123456", EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, "123456", EAN_BARCODE_TYPE.prettyName(), null, null); // Change card ID EditText cardIdField = activity.findViewById(R.id.cardIdView); @@ -952,7 +952,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), "654321", context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), "654321", context.getString(R.string.sameAsCardId), EAN_BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -971,7 +971,7 @@ public class LoyaltyCardViewActivityTest activityController.visible(); activityController.resume(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, "123456", EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), EAN_BARCODE_DATA, "123456", EAN_BARCODE_TYPE.prettyName(), null, null); // Change card ID EditText cardIdField = activity.findViewById(R.id.cardIdView); @@ -989,7 +989,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), "654321", "123456", EAN_BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), "654321", "123456", EAN_BARCODE_TYPE.prettyName(), null, null); db.close(); } @@ -1095,7 +1095,7 @@ public class LoyaltyCardViewActivityTest activityController.resume(); // Save and check the loyalty card - saveLoyaltyCardWithArguments(activity, "store", "note", activity.getApplicationContext().getString(R.string.never), new BigDecimal("0"), activity.getApplicationContext().getString(R.string.points), BARCODE_DATA, activity.getApplicationContext().getString(R.string.sameAsCardId), BARCODE_TYPE.toString(), false); + saveLoyaltyCardWithArguments(activity, "store", "note", activity.getApplicationContext().getString(R.string.never), new BigDecimal("0"), activity.getApplicationContext().getString(R.string.points), BARCODE_DATA, activity.getApplicationContext().getString(R.string.sameAsCardId), BARCODE_TYPE.name(), false); db.close(); } @@ -1132,7 +1132,7 @@ public class LoyaltyCardViewActivityTest activityController.resume(); // First check if the card is as expected - checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.toString(), null, null); + checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", context.getString(R.string.never), "0", context.getString(R.string.points), BARCODE_DATA, context.getString(R.string.sameAsCardId), BARCODE_TYPE.prettyName(), null, null); // Complete empty barcode selection successfully selectBarcodeWithResult(activity, BARCODE_DATA, "", true); @@ -1427,7 +1427,7 @@ public class LoyaltyCardViewActivityTest shadowOf(getMainLooper()).idle(); - checkAllFields(activity, ViewMode.ADD_CARD, "Example Store", "", DateFormat.getDateInstance(DateFormat.LONG).format(date), "10.00", "$", "123456", context.getString(R.string.sameAsCardId), "AZTEC", null, null); + checkAllFields(activity, ViewMode.ADD_CARD, "Example Store", "", DateFormat.getDateInstance(DateFormat.LONG).format(date), "10.00", "$", "123456", context.getString(R.string.sameAsCardId), "Aztec", null, null); assertEquals(-416706, ((ColorDrawable) activity.findViewById(R.id.thumbnail).getBackground()).getColor()); } @@ -1448,7 +1448,7 @@ public class LoyaltyCardViewActivityTest Activity activity = (Activity)activityController.get(); final Context context = activity.getApplicationContext(); - checkAllFields(activity, ViewMode.ADD_CARD, "Example Store", "", context.getString(R.string.never), "0", context.getString(R.string.points), "123456", context.getString(R.string.sameAsCardId), "AZTEC", null, null); + checkAllFields(activity, ViewMode.ADD_CARD, "Example Store", "", context.getString(R.string.never), "0", context.getString(R.string.points), "123456", context.getString(R.string.sameAsCardId), "Aztec", null, null); assertEquals(-416706, ((ColorDrawable) activity.findViewById(R.id.thumbnail).getBackground()).getColor()); } } diff --git a/app/src/test/java/protect/card_locker/MainActivityTest.java b/app/src/test/java/protect/card_locker/MainActivityTest.java index c7df88982..8f00865a5 100644 --- a/app/src/test/java/protect/card_locker/MainActivityTest.java +++ b/app/src/test/java/protect/card_locker/MainActivityTest.java @@ -95,7 +95,7 @@ public class MainActivityTest assertEquals(0, list.getAdapter().getItemCount()); DBHelper db = TestHelpers.getEmptyDb(mainActivity); - db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("store", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); assertEquals(View.VISIBLE, helpText.getVisibility()); assertEquals(View.GONE, noMatchingCardsText.getVisibility()); @@ -130,10 +130,10 @@ public class MainActivityTest assertEquals(0, list.getAdapter().getItemCount()); DBHelper db = TestHelpers.getEmptyDb(mainActivity); - db.insertLoyaltyCard("storeB", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); - db.insertLoyaltyCard("storeA", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); - db.insertLoyaltyCard("storeD", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 1); - db.insertLoyaltyCard("storeC", "note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 1); + db.insertLoyaltyCard("storeB", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); + db.insertLoyaltyCard("storeA", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); + db.insertLoyaltyCard("storeD", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 1); + db.insertLoyaltyCard("storeC", "note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 1); assertEquals(View.VISIBLE, helpText.getVisibility()); assertEquals(View.GONE, noMatchingCardsText.getVisibility()); @@ -226,8 +226,8 @@ public class MainActivityTest TabLayout groupTabs = mainActivity.findViewById(R.id.groups); DBHelper db = TestHelpers.getEmptyDb(mainActivity); - db.insertLoyaltyCard("The First Store", "Initial note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); - db.insertLoyaltyCard("The Second Store", "Secondary note", null, new BigDecimal("0"), null, "cardId", null, BarcodeFormat.UPC_A, Color.BLACK, 0); + db.insertLoyaltyCard("The First Store", "Initial note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); + db.insertLoyaltyCard("The Second Store", "Secondary note", null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0); db.insertGroup("Group one"); List groups = new ArrayList<>();