From 4963aa3f9e2694c7b8a0fd45d872821aebb4273e Mon Sep 17 00:00:00 2001 From: Damyan Ivanov Date: Sun, 5 Apr 2020 23:32:50 +0300 Subject: [PATCH] treat null currency as "" when storing transaction accounts the db field is declared as not null --- .../net/ktnx/mobileledger/model/MobileLedgerProfile.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java b/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java index 831dc63f..7cadf8eb 100644 --- a/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java +++ b/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java @@ -32,6 +32,7 @@ import net.ktnx.mobileledger.async.SendTransactionTask; import net.ktnx.mobileledger.utils.Globals; import net.ktnx.mobileledger.utils.Logger; import net.ktnx.mobileledger.utils.MLDB; +import net.ktnx.mobileledger.utils.Misc; import java.util.ArrayList; import java.util.Date; @@ -243,7 +244,7 @@ public final class MobileLedgerProfile { public void storeAccountValue(SQLiteDatabase db, String name, String currency, Float amount) { db.execSQL("replace into account_values(profile, account, " + "currency, value, keep) values(?, ?, ?, ?, 1);", - new Object[]{uuid, name, currency, amount}); + new Object[]{uuid, name, Misc.emptyIsNull(currency), amount}); } public void storeTransaction(SQLiteDatabase db, LedgerTransaction tr) { tr.fillDataHash(); @@ -262,7 +263,7 @@ public final class MobileLedgerProfile { db.execSQL("INSERT INTO transaction_accounts(profile, transaction_id, " + "account_name, amount, currency, comment) values(?, ?, ?, ?, ?, ?)", new Object[]{uuid, tr.getId(), item.getAccountName(), item.getAmount(), - item.getCurrency(), item.getComment() + Misc.nullIsEmpty(item.getCurrency()), item.getComment() }); } // debug("profile", String.format("Transaction %d stored", tr.getId())); -- 2.39.2