X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FUpdateTransactionsTask.java;h=1152cdeaeef3a036c7e0b2b59a20da06e4c7588e;hb=c573b352226ba1dadb779bdc27df888b9fa23fde;hp=4edf5c126fcd33bb5d5aaf97cbbec257e3c272c3;hpb=ca3ae83e42a5a3d553101150711e5edb9f7d085c;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java b/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java index 4edf5c12..1152cdea 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java @@ -20,26 +20,29 @@ package net.ktnx.mobileledger.async; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.AsyncTask; -import android.util.Log; +import net.ktnx.mobileledger.App; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.LedgerTransaction; import net.ktnx.mobileledger.model.MobileLedgerProfile; import net.ktnx.mobileledger.model.TransactionListItem; import net.ktnx.mobileledger.utils.Globals; -import net.ktnx.mobileledger.utils.MLDB; import java.text.ParseException; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; +import static net.ktnx.mobileledger.utils.Logger.debug; + public class UpdateTransactionsTask extends AsyncTask { protected String doInBackground(String[] filterAccName) { - final MobileLedgerProfile profile = Data.profile.get(); - if (profile == null) return "Profile not configured"; + final MobileLedgerProfile profile = Data.profile.getValue(); + if (profile == null) + return "Profile not configured"; String profile_uuid = profile.getUuid(); - Data.backgroundTaskCount.incrementAndGet(); + Data.backgroundTaskStarted(); try { ArrayList newList = new ArrayList<>(); @@ -61,34 +64,36 @@ public class UpdateTransactionsTask extends AsyncTask { params = new String[]{profile_uuid, filterAccName[0]}; } - Log.d("UTT", sql); - SQLiteDatabase db = MLDB.getReadableDatabase(); + debug("UTT", sql); + SQLiteDatabase db = App.getDatabase(); String lastDateString = Globals.formatLedgerDate(new Date()); - Date lastDate = Globals.parseLedgerDate(lastDateString); + Calendar lastDate = Globals.parseLedgerDateAsCalendar(lastDateString); boolean odd = true; try (Cursor cursor = db.rawQuery(sql, params)) { while (cursor.moveToNext()) { - if (isCancelled()) return null; + if (isCancelled()) + return null; int transaction_id = cursor.getInt(0); String dateString = cursor.getString(1); - Date date = Globals.parseLedgerDate(dateString); + Calendar date = Globals.parseLedgerDateAsCalendar(dateString); if (!lastDateString.equals(dateString)) { - boolean showMonth = (date.getMonth() != lastDate.getMonth() || - date.getYear() != lastDate.getYear()); - newList.add(new TransactionListItem(date, showMonth)); + boolean showMonth = + (date.get(Calendar.MONTH) != lastDate.get(Calendar.MONTH)) || + (date.get(Calendar.YEAR) != lastDate.get(Calendar.YEAR)); + newList.add(new TransactionListItem(date.getTime(), showMonth)); } newList.add( new TransactionListItem(new LedgerTransaction(transaction_id), odd)); -// Log.d("UTT", String.format("got transaction %d", transaction_id)); +// debug("UTT", String.format("got transaction %d", transaction_id)); lastDate = date; lastDateString = dateString; odd = !odd; } - Data.transactions.set(newList); - Log.d("UTT", "transaction list value updated"); + Data.transactions.setList(newList); + debug("UTT", "transaction list value updated"); } return null; @@ -97,7 +102,7 @@ public class UpdateTransactionsTask extends AsyncTask { return String.format("Error parsing stored date '%s'", e.getMessage()); } finally { - Data.backgroundTaskCount.decrementAndGet(); + Data.backgroundTaskFinished(); } } }