mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2026-05-18 13:49:15 -04:00
Choose image as card icon (#333)
This commit is contained in:
@@ -894,6 +894,7 @@ public class ImportExportTest {
|
||||
HashMap<Integer, List<Group>> loyaltyCardGroups = new HashMap<>();
|
||||
HashMap<Integer, Bitmap> loyaltyCardFrontImages = new HashMap<>();
|
||||
HashMap<Integer, Bitmap> loyaltyCardBackImages = new HashMap<>();
|
||||
HashMap<Integer, Bitmap> loyaltyCardIconImages = 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", CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE), 1, 0, null);
|
||||
@@ -902,10 +903,12 @@ public class ImportExportTest {
|
||||
List<Group> groups = Arrays.asList(db.getGroup("One"));
|
||||
db.setLoyaltyCardGroups(loyaltyCardId, groups);
|
||||
loyaltyCardGroups.put(loyaltyCardId, groups);
|
||||
Utils.saveCardImage(activity.getApplicationContext(), launcherBitmap, loyaltyCardId, true);
|
||||
Utils.saveCardImage(activity.getApplicationContext(), roundLauncherBitmap, loyaltyCardId, false);
|
||||
Utils.saveCardImage(activity.getApplicationContext(), launcherBitmap, loyaltyCardId, ImageLocationType.front);
|
||||
Utils.saveCardImage(activity.getApplicationContext(), roundLauncherBitmap, loyaltyCardId, ImageLocationType.back);
|
||||
Utils.saveCardImage(activity.getApplicationContext(), launcherBitmap, loyaltyCardId, ImageLocationType.icon);
|
||||
loyaltyCardFrontImages.put(loyaltyCardId, launcherBitmap);
|
||||
loyaltyCardBackImages.put(loyaltyCardId, roundLauncherBitmap);
|
||||
loyaltyCardIconImages.put(loyaltyCardId, launcherBitmap);
|
||||
|
||||
// Create card 2
|
||||
loyaltyCardId = (int) db.insertLoyaltyCard("Card 2", "", null, new BigDecimal(0), null, "123456", null, null, 2, 1, null);
|
||||
@@ -960,8 +963,10 @@ public class ImportExportTest {
|
||||
|
||||
Bitmap expectedFrontImage = loyaltyCardFrontImages.get(loyaltyCardID);
|
||||
Bitmap expectedBackImage = loyaltyCardBackImages.get(loyaltyCardID);
|
||||
Bitmap actualFrontImage = Utils.retrieveCardImage(activity.getApplicationContext(), Utils.getCardImageFileName(loyaltyCardID, true));
|
||||
Bitmap actualBackImage = Utils.retrieveCardImage(activity.getApplicationContext(), Utils.getCardImageFileName(loyaltyCardID, false));
|
||||
Bitmap expectedIconImage = loyaltyCardIconImages.get(loyaltyCardID);
|
||||
Bitmap actualFrontImage = Utils.retrieveCardImage(activity.getApplicationContext(), Utils.getCardImageFileName(loyaltyCardID, ImageLocationType.front));
|
||||
Bitmap actualBackImage = Utils.retrieveCardImage(activity.getApplicationContext(), Utils.getCardImageFileName(loyaltyCardID, ImageLocationType.back));
|
||||
Bitmap actualIconImage = Utils.retrieveCardImage(activity.getApplicationContext(), Utils.getCardImageFileName(loyaltyCardID, ImageLocationType.icon));
|
||||
|
||||
if (expectedFrontImage != null) {
|
||||
assertTrue(expectedFrontImage.sameAs(actualFrontImage));
|
||||
@@ -974,6 +979,12 @@ public class ImportExportTest {
|
||||
} else {
|
||||
assertNull(actualBackImage);
|
||||
}
|
||||
|
||||
if (expectedIconImage != null) {
|
||||
assertTrue(expectedIconImage.sameAs(actualIconImage));
|
||||
} else {
|
||||
assertNull(actualIconImage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1041,8 +1052,9 @@ public class ImportExportTest {
|
||||
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));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card1.id, false));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card1.id, ImageLocationType.front));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card1.id, ImageLocationType.back));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card1.id, ImageLocationType.icon));
|
||||
|
||||
LoyaltyCard card8 = db.getLoyaltyCard(8);
|
||||
|
||||
@@ -1056,8 +1068,9 @@ public class ImportExportTest {
|
||||
assertEquals(null, card8.barcodeType);
|
||||
assertEquals(-5317, (long) card8.headerColor);
|
||||
assertEquals(0, card8.starStatus);
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card8.id, true));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card8.id, false));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card8.id, ImageLocationType.front));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card8.id, ImageLocationType.back));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card8.id, ImageLocationType.icon));
|
||||
|
||||
LoyaltyCard card2 = db.getLoyaltyCard(2);
|
||||
|
||||
@@ -1071,8 +1084,9 @@ public class ImportExportTest {
|
||||
assertEquals(null, card2.barcodeType);
|
||||
assertEquals(-9977996, (long) card2.headerColor);
|
||||
assertEquals(0, card2.starStatus);
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card2.id, true));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card2.id, false));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card2.id, ImageLocationType.front));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card2.id, ImageLocationType.back));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card2.id, ImageLocationType.icon));
|
||||
|
||||
LoyaltyCard card3 = db.getLoyaltyCard(3);
|
||||
|
||||
@@ -1086,8 +1100,9 @@ public class ImportExportTest {
|
||||
assertEquals(null, card3.barcodeType);
|
||||
assertEquals(-9977996, (long) card3.headerColor);
|
||||
assertEquals(0, card3.starStatus);
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card3.id, true));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card3.id, false));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card3.id, ImageLocationType.front));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card3.id, ImageLocationType.back));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card3.id, ImageLocationType.icon));
|
||||
|
||||
LoyaltyCard card4 = db.getLoyaltyCard(4);
|
||||
|
||||
@@ -1101,8 +1116,9 @@ public class ImportExportTest {
|
||||
assertEquals(null, card4.barcodeType);
|
||||
assertEquals(-10902850, (long) card4.headerColor);
|
||||
assertEquals(1, card4.starStatus);
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card4.id, true));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card4.id, false));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card4.id, ImageLocationType.front));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card4.id, ImageLocationType.back));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card4.id, ImageLocationType.icon));
|
||||
|
||||
LoyaltyCard card5 = db.getLoyaltyCard(5);
|
||||
|
||||
@@ -1116,8 +1132,9 @@ public class ImportExportTest {
|
||||
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));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card5.id, false));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card5.id, ImageLocationType.front));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card5.id, ImageLocationType.back));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card5.id, ImageLocationType.icon));
|
||||
|
||||
LoyaltyCard card6 = db.getLoyaltyCard(6);
|
||||
|
||||
@@ -1131,8 +1148,9 @@ public class ImportExportTest {
|
||||
assertEquals(BarcodeFormat.AZTEC, card6.barcodeType.format());
|
||||
assertEquals(null, card6.headerColor);
|
||||
assertEquals(0, card6.starStatus);
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card6.id, true));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card6.id, false));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card6.id, ImageLocationType.front));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card6.id, ImageLocationType.back));
|
||||
assertEquals(null, Utils.retrieveCardImage(activity.getApplicationContext(), card6.id, ImageLocationType.icon));
|
||||
|
||||
TestHelpers.getEmptyDb(activity);
|
||||
}
|
||||
@@ -1212,8 +1230,9 @@ public class ImportExportTest {
|
||||
assertEquals(BarcodeFormat.EAN_13, card.barcodeType.format());
|
||||
assertEquals(0, card.starStatus);
|
||||
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 1, true));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 1, false));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 1, ImageLocationType.front));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 1, ImageLocationType.back));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 1, ImageLocationType.icon));
|
||||
|
||||
card = db.getLoyaltyCard(2);
|
||||
|
||||
@@ -1227,8 +1246,9 @@ public class ImportExportTest {
|
||||
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)));
|
||||
assertTrue(BitmapFactory.decodeStream(getClass().getResourceAsStream("stocard-back.jpg")).sameAs(Utils.retrieveCardImage(activity.getApplicationContext(), 2, false)));
|
||||
assertTrue(BitmapFactory.decodeStream(getClass().getResourceAsStream("stocard-front.jpg")).sameAs(Utils.retrieveCardImage(activity.getApplicationContext(), 2, ImageLocationType.front)));
|
||||
assertTrue(BitmapFactory.decodeStream(getClass().getResourceAsStream("stocard-back.jpg")).sameAs(Utils.retrieveCardImage(activity.getApplicationContext(), 2, ImageLocationType.back)));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 2, ImageLocationType.icon));
|
||||
|
||||
card = db.getLoyaltyCard(3);
|
||||
|
||||
@@ -1243,8 +1263,9 @@ public class ImportExportTest {
|
||||
assertEquals(BarcodeFormat.RSS_EXPANDED, card.barcodeType.format());
|
||||
assertEquals(0, card.starStatus);
|
||||
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 3, true));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 3, false));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 3, ImageLocationType.front));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 3, ImageLocationType.back));
|
||||
assertNull(Utils.retrieveCardImage(activity.getApplicationContext(), 3, ImageLocationType.icon));
|
||||
|
||||
TestHelpers.getEmptyDb(activity);
|
||||
}
|
||||
|
||||
@@ -359,7 +359,7 @@ public class LoyaltyCardViewActivityTest
|
||||
activityController = Robolectric.buildActivity(LoyaltyCardEditActivity.class).create();
|
||||
}
|
||||
|
||||
Activity activity = (Activity) activityController.get();
|
||||
LoyaltyCardEditActivity activity = (LoyaltyCardEditActivity) activityController.get();
|
||||
final Context context = activity.getApplicationContext();
|
||||
DBHelper db = TestHelpers.getEmptyDb(activity);
|
||||
|
||||
@@ -401,8 +401,8 @@ public class LoyaltyCardViewActivityTest
|
||||
cardIdField.setText("12345678");
|
||||
barcodeField.setText("87654321");
|
||||
barcodeTypeField.setText(CatimaBarcode.fromBarcode(BarcodeFormat.QR_CODE).prettyName());
|
||||
LoyaltyCardEditActivity.setCardImage(frontImageView, frontBitmap);
|
||||
LoyaltyCardEditActivity.setCardImage(backImageView, backBitmap);
|
||||
activity.setCardImage(frontImageView, frontBitmap, true);
|
||||
activity.setCardImage(backImageView, backBitmap, true);
|
||||
|
||||
shadowOf(getMainLooper()).idle();
|
||||
|
||||
@@ -1412,7 +1412,7 @@ public class LoyaltyCardViewActivityTest
|
||||
{
|
||||
Date date = new Date();
|
||||
|
||||
Uri importUri = Uri.parse("https://thelastproject.github.io/Catima/share?store=Example%20Store¬e=&expiry=" + date.getTime() + "&balance=10&balancetype=USD&cardid=123456&barcodetype=AZTEC&headercolor=-416706&headertextcolor=-1");
|
||||
Uri importUri = Uri.parse("https://catima.app/share#store%3DExample%2BStore%26note%3D%26expiry%3D" + date.getTime() + "%26balance%3D10.00%26balancetype%3DUSD%26cardid%3D123456%26barcodetype%3DAZTEC%26headercolor%3D-416706");
|
||||
|
||||
Intent intent = new Intent();
|
||||
intent.setData(importUri);
|
||||
@@ -1433,7 +1433,7 @@ public class LoyaltyCardViewActivityTest
|
||||
}
|
||||
|
||||
@Test
|
||||
public void importCardOldURL()
|
||||
public void importCardOldFormat()
|
||||
{
|
||||
Uri importUri = Uri.parse("https://brarcher.github.io/loyalty-card-locker/share?store=Example%20Store¬e=&cardid=123456&barcodetype=AZTEC&headercolor=-416706&headertextcolor=-1");
|
||||
|
||||
|
||||
@@ -16,12 +16,11 @@ public class TestHelpers {
|
||||
while (!cursor.isAfterLast()) {
|
||||
int cardID = cursor.getColumnIndex(DBHelper.LoyaltyCardDbIds.ID);
|
||||
|
||||
try {
|
||||
Utils.saveCardImage(activity.getApplicationContext(), null, cardID, true);
|
||||
} catch (FileNotFoundException ignored) {}
|
||||
try {
|
||||
Utils.saveCardImage(activity.getApplicationContext(), null, cardID, false);
|
||||
} catch (FileNotFoundException ignored) {}
|
||||
for (ImageLocationType imageLocationType : ImageLocationType.values()) {
|
||||
try {
|
||||
Utils.saveCardImage(activity.getApplicationContext(), null, cardID, imageLocationType);
|
||||
} catch (FileNotFoundException ignored) {}
|
||||
}
|
||||
|
||||
cursor.moveToNext();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user