From 7a7a2f83616e48b4db13ce352e3d2ae291663419 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Sun, 23 Jul 2023 14:05:36 +0200 Subject: [PATCH] Read input_provider_name in field if available --- .../importexport/StocardImporter.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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 280aa647a..df8c9081c 100644 --- a/app/src/main/java/protect/card_locker/importexport/StocardImporter.java +++ b/app/src/main/java/protect/card_locker/importexport/StocardImporter.java @@ -183,6 +183,15 @@ public class StocardImporter implements Importer { jsonObject.getString("input_id") ); + if (jsonObject.has("input_provider_name")) { + loyaltyCardHashMap = appendToHashMap( + loyaltyCardHashMap, + cardName, + "store", + jsonObject.getString("input_provider_name") + ); + } + // Provider ID can be either custom or not, extract whatever version is relevant String customProviderPrefix = "/users/" + nameParts[1] + "/loyalty-card-custom-providers/"; String providerId = jsonObject @@ -252,7 +261,14 @@ public class StocardImporter implements Importer { HashMap providerData = zipData.providers.get(providerId); - String store = providerData != null ? providerData.get("name").toString() : providerId; + // Read store from card, if not available (old export), fall back to providerData + String store; + if (loyaltyCardData.containsKey("store")) { + store = (String) loyaltyCardData.get("store"); + } else { + store = providerData != null ? providerData.get("name").toString() : providerId; + } + 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);