X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fmodel%2FMobileLedgerProfile.java;h=168941f87fb4ed39b165d91f96edbd711d7de133;hp=59ae1958dd89c5e23e4cc1342fc19a2a4b914727;hb=ff3be47725919f5284a2a4e2348d1ab6fd561325;hpb=d9d6af8234ce15e70f4dce2edd6c595f552e1b4c 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 59ae1958..168941f8 100644 --- a/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java +++ b/app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java @@ -25,6 +25,7 @@ import net.ktnx.mobileledger.utils.Globals; import net.ktnx.mobileledger.utils.MLDB; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.UUID; @@ -181,9 +182,7 @@ public final class MobileLedgerProfile { db.endTransaction(); } } - public void storeAccount(LedgerAccount acc) { - SQLiteDatabase db = MLDB.getWritableDatabase(); - + public void storeAccount(SQLiteDatabase db, LedgerAccount acc) { // replace into is a bad idea because it would reset hidden to its default value // we like the default, but for new accounts only db.execSQL("update accounts set level = ?, keep = 1 where profile=? and name = ?", @@ -194,14 +193,12 @@ public final class MobileLedgerProfile { acc.getLevel() }); } - public void storeAccountValue(String name, String currency, Float amount) { - SQLiteDatabase db = MLDB.getWritableDatabase(); + 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}); } - public void storeTransaction(LedgerTransaction tr) { - SQLiteDatabase db = MLDB.getWritableDatabase(); + public void storeTransaction(SQLiteDatabase db, LedgerTransaction tr) { tr.fillDataHash(); db.execSQL("DELETE from transactions WHERE profile=? and id=?", new Object[]{uuid, tr.getId()}); @@ -340,4 +337,10 @@ public final class MobileLedgerProfile { public void deleteNotPresentTransactions(SQLiteDatabase db) { db.execSQL("DELETE FROM transactions WHERE profile=? AND keep = 0", new String[]{uuid}); } + public void setLastUpdateStamp() { + Log.d("db", "Updating transaction value stamp"); + Date now = new Date(); + setLongOption(MLDB.OPT_LAST_SCRAPE, now.getTime()); + Data.lastUpdateDate.set(now); + } }