getOrDefault requires API level 24

This commit is contained in:
Sylvia van Os
2021-07-06 23:36:21 +02:00
parent 24e19e26ba
commit 476a219bec
2 changed files with 15 additions and 3 deletions

View File

@@ -32,6 +32,7 @@ import java.util.Calendar;
import java.util.Currency;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import androidx.core.graphics.ColorUtils;
@@ -345,4 +346,12 @@ public class Utils {
return BitmapFactory.decodeStream(in);
}
static public Object hashmapGetOrDefault(HashMap hashMap, String key, Object defaultValue) {
Object value = hashMap.get(key);
if (value == null) {
return defaultValue;
}
return value;
}
}

View File

@@ -140,9 +140,9 @@ public class StocardImporter implements Importer
for (HashMap<String, Object> loyaltyCardData : loyaltyCardHashMap.values()) {
String store = providers.get(loyaltyCardData.get("_providerId").toString());
String note = (String) loyaltyCardData.getOrDefault("note", "");
String note = (String) Utils.hashmapGetOrDefault(loyaltyCardData, "note", "");
String cardId = (String) loyaltyCardData.get("cardId");
String barcodeTypeString = (String) loyaltyCardData.getOrDefault("barcodeType", null);
String barcodeTypeString = (String) Utils.hashmapGetOrDefault(loyaltyCardData, "barcodeType", null);
BarcodeFormat barcodeType = null;
if (barcodeTypeString != null) {
if (barcodeTypeString.equals("RSS_DATABAR_EXPANDED")) {
@@ -202,7 +202,10 @@ public class StocardImporter implements Importer
}
private HashMap<String, HashMap<String, Object>> appendToLoyaltyCardHashMap(HashMap<String, HashMap<String, Object>> loyaltyCardHashMap, String cardID, String key, Object value) {
HashMap<String, Object> loyaltyCardData = loyaltyCardHashMap.getOrDefault(cardID, new HashMap<>());
HashMap<String, Object> loyaltyCardData = loyaltyCardHashMap.get(cardID);
if (loyaltyCardData == null) {
loyaltyCardData = new HashMap<>();
}
loyaltyCardData.put(key, value);
loyaltyCardHashMap.put(cardID, loyaltyCardData);