From e0650bc6f95f7e8ea21d26c907219ca97a4fc4e0 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Wed, 7 Sep 2022 19:33:07 +0200 Subject: [PATCH] Ignore cards without card ID in Fidme import --- CHANGELOG.md | 1 + .../importexport/FidmeImporter.java | 5 ++++- .../test/res/protect/card_locker/fidme.zip | Bin 1368 -> 1443 bytes 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 822266013..c4581c6d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Add Monochrome icon for Android 13 - Improve first launch screen - Move archive info from overflow menu to bottom of card list +- Fidme import fixes ## v2.19.0 - 113 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 296b380f5..62ab8c464 100644 --- a/app/src/main/java/protect/card_locker/importexport/FidmeImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/FidmeImporter.java @@ -110,7 +110,10 @@ public class FidmeImporter implements Importer { // The ID is called reference String cardId = CSVHelpers.extractString("Reference", record, ""); if (cardId.isEmpty()) { - throw new FormatException("No card ID listed, but is required"); + // Fidme deletes the card id if a card is expired + // Because Catima considers the card id a required field, we ignore these expired cards + // https://github.com/CatimaLoyalty/Android/issues/1005 + return; } // Sadly, Fidme exports don't contain the card type diff --git a/app/src/test/res/protect/card_locker/fidme.zip b/app/src/test/res/protect/card_locker/fidme.zip index 0308e747412a26c9c5e7cd22ddd46618133c59f9..c06d6b210cf6cfd69a51cbf29c18ebdf60228ac0 100644 GIT binary patch delta 380 zcmcb?wU~QDAEU6=Z1vC?`*c2TV_;z5U}RtrVUU@;kWsWgG=!6Z`Tu2!WDqW`;AUWC zdBM!U048Gl4ssnb;Awkb-Swz;!?L$`W?dF(H{e(L#c_7hk#5A=E;i8(vvw^ nwNz&T!>A-PIXktaSTDJ_EWn$U4QLw!8xYO_hVECOGy?+wr1^z6 delta 278 zcmZ3?eS>R5AER(r_uZgv_IY3DGcYjR2VxNhhRF*VMeAex&T=&y2(-MnbA1tOFk60c z^`=&(E$vF*7%%P873&qa{5?NJW6PO02JL?nq`0=ppLl%K-#_1d&8|MHFxH$Gj`Qx! z{cz*ArG>T7ytiSKX1R6mmUUvYIqSkTsW6x;G_5W6HnWt$f&~n+`u&$WJQr9d>^>r| z>K(U6gkACKrzlO zIf9i(7R~iQKQJ&b0`Zc@7DljNCWo*JOrFak#TYty2a7%9mdQVWB