Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 6 additions & 65 deletions app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import java.lang.ref.WeakReference;

import protect.card_locker.async.CompatCallable;
import protect.card_locker.barcodes.Barcode;

/**
* This task will generate a barcode and load it into an ImageView.
Expand All @@ -38,15 +39,15 @@ public class BarcodeImageWriterTask implements CompatCallable<Bitmap> {
private final WeakReference<ImageView> imageViewReference;
private final WeakReference<TextView> textViewReference;
private String cardId;
private final CatimaBarcode format;
private final Barcode format;
private final int imageHeight;
private final int imageWidth;
private final boolean showFallback;
private final Runnable callback;

BarcodeImageWriterTask(
Context context, ImageView imageView, String cardIdString,
CatimaBarcode barcodeFormat, TextView textView,
Barcode barcodeFormat, TextView textView,
boolean showFallback, Runnable callback, boolean roundCornerPadding
) {
mContext = context;
Expand Down Expand Up @@ -90,68 +91,8 @@ public class BarcodeImageWriterTask implements CompatCallable<Bitmap> {
this.showFallback = showFallback;
}

private int getMaxWidth(CatimaBarcode format) {
switch (format.format()) {
// 2D barcodes
case AZTEC:
case DATA_MATRIX:
case MAXICODE:
case PDF_417:
case QR_CODE:
return MAX_WIDTH_2D;

// 1D barcodes:
case CODABAR:
case CODE_39:
case CODE_93:
case CODE_128:
case EAN_8:
case EAN_13:
case ITF:
case UPC_A:
case UPC_E:
case RSS_14:
case RSS_EXPANDED:
case UPC_EAN_EXTENSION:
default:
return MAX_WIDTH_1D;
}
}

private String getFallbackString(CatimaBarcode format) {
switch (format.format()) {
// 2D barcodes
case AZTEC:
return "AZTEC";
case DATA_MATRIX:
return "DATA_MATRIX";
case PDF_417:
return "PDF_417";
case QR_CODE:
return "QR_CODE";

// 1D barcodes:
case CODABAR:
return "C0C";
case CODE_39:
return "CODE_39";
case CODE_93:
return "CODE_93";
case CODE_128:
return "CODE_128";
case EAN_8:
return "32123456";
case EAN_13:
return "5901234123457";
case ITF:
return "1003";
case UPC_A:
return "123456789012";
case UPC_E:
return "0123456";
default:
throw new IllegalArgumentException("No fallback known for this barcode type");
}
private int getMaxWidth(Barcode format) {
return format.is2D() ? MAX_WIDTH_2D : MAX_WIDTH_1D;
}

private Bitmap generate() {
Expand Down Expand Up @@ -227,7 +168,7 @@ public Bitmap doInBackground(Void... params) {

if (showFallback && !Thread.currentThread().isInterrupted()) {
Log.i(TAG, "Barcode generation failed, generating fallback...");
cardId = getFallbackString(format);
cardId = format.exampleValue();
bitmap = generate();
return bitmap;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@

import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.Toolbar;
import protect.card_locker.barcodes.Barcode;
import protect.card_locker.barcodes.BarcodeFactory;
import protect.card_locker.barcodes.BarcodeWithValue;

/**
* This activity is callable and will allow a user to enter
Expand Down Expand Up @@ -86,10 +89,10 @@ public void onTextChanged(CharSequence s, int start, int before, int count) {

private void generateBarcodes(String value) {
// Update barcodes
ArrayList<CatimaBarcodeWithValue> barcodes = new ArrayList<>();
for (BarcodeFormat barcodeFormat : CatimaBarcode.barcodeFormats) {
CatimaBarcode catimaBarcode = CatimaBarcode.fromBarcode(barcodeFormat);
barcodes.add(new CatimaBarcodeWithValue(catimaBarcode, value));
ArrayList<BarcodeWithValue> barcodes = new ArrayList<>();
for (BarcodeFormat barcodeFormat : BarcodeFactory.getAllFormats()) {
Barcode catimaBarcode = BarcodeFactory.fromBarcode(barcodeFormat);
barcodes.add(new BarcodeWithValue(catimaBarcode, value));
}
mAdapter.setBarcodes(barcodes);
}
Expand Down Expand Up @@ -118,7 +121,7 @@ public boolean onOptionsItemSelected(MenuItem item) {

@Override
public void onRowClicked(int inputPosition, View view) {
CatimaBarcodeWithValue barcodeWithValue = mAdapter.getItem(inputPosition);
BarcodeWithValue barcodeWithValue = mAdapter.getItem(inputPosition);
CatimaBarcode catimaBarcode = barcodeWithValue.catimaBarcode();

if (!mAdapter.isValid(view)) {
Expand Down
17 changes: 10 additions & 7 deletions app/src/main/java/protect/card_locker/BarcodeSelectorAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@
import java.util.ArrayList;

import protect.card_locker.async.TaskHandler;
import protect.card_locker.barcodes.Barcode;
import protect.card_locker.barcodes.BarcodeFactory;
import protect.card_locker.barcodes.BarcodeWithValue;

public class BarcodeSelectorAdapter extends ArrayAdapter<CatimaBarcodeWithValue> {
public class BarcodeSelectorAdapter extends ArrayAdapter<BarcodeWithValue> {
private static final String TAG = "Catima";

private final TaskHandler mTasks = new TaskHandler();
Expand All @@ -29,12 +32,12 @@ public interface BarcodeSelectorListener {
void onRowClicked(int inputPosition, View view);
}

public BarcodeSelectorAdapter(Context context, ArrayList<CatimaBarcodeWithValue> barcodes, BarcodeSelectorListener barcodeSelectorListener) {
public BarcodeSelectorAdapter(Context context, ArrayList<BarcodeWithValue> barcodes, BarcodeSelectorListener barcodeSelectorListener) {
super(context, 0, barcodes);
mListener = barcodeSelectorListener;
}

public void setBarcodes(ArrayList<CatimaBarcodeWithValue> barcodes) {
public void setBarcodes(ArrayList<BarcodeWithValue> barcodes) {
clear();
addAll(barcodes);
notifyDataSetChanged();
Expand All @@ -43,9 +46,9 @@ public void setBarcodes(ArrayList<CatimaBarcodeWithValue> barcodes) {

@Override
public View getView(int position, View convertView, ViewGroup parent) {
CatimaBarcodeWithValue catimaBarcodeWithValue = getItem(position);
CatimaBarcode catimaBarcode = catimaBarcodeWithValue.catimaBarcode();
String value = catimaBarcodeWithValue.value();
BarcodeWithValue barcodeWithValue = getItem(position);
Barcode catimaBarcode = barcodeWithValue.barcode();
String value = barcodeWithValue.value();

ViewHolder viewHolder;
if (convertView == null) {
Expand Down Expand Up @@ -73,7 +76,7 @@ public boolean isValid(View view) {
}

private void createBarcodeOption(final ImageView image, final String formatType, final String cardId, final TextView text) {
final CatimaBarcode format = CatimaBarcode.fromName(formatType);
final Barcode format = BarcodeFactory.fromName(formatType);

image.setImageBitmap(null);
image.setClipToOutline(true);
Expand Down
97 changes: 0 additions & 97 deletions app/src/main/java/protect/card_locker/CatimaBarcode.java

This file was deleted.

19 changes: 0 additions & 19 deletions app/src/main/java/protect/card_locker/CatimaBarcodeWithValue.java

This file was deleted.

8 changes: 5 additions & 3 deletions app/src/main/java/protect/card_locker/DBHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import java.util.Date;
import java.util.List;

import protect.card_locker.barcodes.Barcode;

public class DBHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "Catima.db";
public static final int ORIGINAL_DATABASE_VERSION = 1;
Expand Down Expand Up @@ -360,7 +362,7 @@ private static void updateFTS(final SQLiteDatabase db, final int id, final Strin
public static long insertLoyaltyCard(
final SQLiteDatabase database, final String store, final String note, final Date expiry,
final BigDecimal balance, final Currency balanceType, final String cardId,
final String barcodeId, final CatimaBarcode barcodeType, final Integer headerColor,
final String barcodeId, final Barcode barcodeType, final Integer headerColor,
final int starStatus, final Long lastUsed, final int archiveStatus) {
database.beginTransaction();

Expand Down Expand Up @@ -392,7 +394,7 @@ public static long insertLoyaltyCard(
public static long insertLoyaltyCard(
final SQLiteDatabase database, 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 CatimaBarcode barcodeType,
final String cardId, final String barcodeId, final Barcode barcodeType,
final Integer headerColor, final int starStatus, final Long lastUsed, final int archiveStatus) {
database.beginTransaction();

Expand Down Expand Up @@ -425,7 +427,7 @@ public static long insertLoyaltyCard(
public static boolean updateLoyaltyCard(
SQLiteDatabase database, 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 CatimaBarcode barcodeType,
final String cardId, final String barcodeId, final Barcode barcodeType,
final Integer headerColor, final int starStatus, final Long lastUsed, final int archiveStatus) {
database.beginTransaction();

Expand Down
7 changes: 5 additions & 2 deletions app/src/main/java/protect/card_locker/ImportURIHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
import java.util.HashMap;
import java.util.List;

import protect.card_locker.barcodes.Barcode;
import protect.card_locker.barcodes.BarcodeFactory;

public class ImportURIHelper {
private static final String STORE = DBHelper.LoyaltyCardDbIds.STORE;
private static final String NOTE = DBHelper.LoyaltyCardDbIds.NOTE;
Expand Down Expand Up @@ -61,7 +64,7 @@ public LoyaltyCard parse(Uri uri) throws InvalidObjectException {

try {
// These values are allowed to be null
CatimaBarcode barcodeType = null;
Barcode barcodeType = null;
Date expiry = null;
BigDecimal balance = new BigDecimal("0");
Currency balanceType = null;
Expand Down Expand Up @@ -95,7 +98,7 @@ public LoyaltyCard parse(Uri uri) throws InvalidObjectException {

String unparsedBarcodeType = kv.get(BARCODE_TYPE);
if (unparsedBarcodeType != null && !unparsedBarcodeType.equals("")) {
barcodeType = CatimaBarcode.fromName(unparsedBarcodeType);
barcodeType = BarcodeFactory.fromName(unparsedBarcodeType);
}

String unparsedBalance = kv.get(BALANCE);
Expand Down
Loading