X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FUpdateTransactionsTask.java;h=042da8ab50db02e8165019300f045c851a6acdc5;hp=dc02fe9f339d42204c772ae038efd65c9ddee765;hb=e8c73363b1848804daaddd9a10940c7f8acc1d85;hpb=ea17ca9e3b03ca0090be03fdc0abbbbfd954be89 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 dc02fe9f..042da8ab 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java @@ -24,6 +24,7 @@ import android.util.Log; 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; @@ -35,7 +36,10 @@ import java.util.Date; public class UpdateTransactionsTask extends AsyncTask { protected String doInBackground(String[] filterAccName) { Data.backgroundTaskCount.incrementAndGet(); - String profile_uuid = Data.profile.get().getUuid(); + final MobileLedgerProfile profile = Data.profile.get(); + if (profile == null) return "Profile not configured"; + + String profile_uuid = profile.getUuid(); try { ArrayList newList = new ArrayList<>(); @@ -59,7 +63,8 @@ public class UpdateTransactionsTask extends AsyncTask { Log.d("UTT", sql); SQLiteDatabase db = MLDB.getReadableDatabase(); - Date lastDate = null; + String lastDateString = Globals.formatLedgerDate(new Date()); + Date lastDate = Globals.parseLedgerDate(lastDateString); boolean odd = true; try (Cursor cursor = db.rawQuery(sql, params)) { while (cursor.moveToNext()) { @@ -69,12 +74,9 @@ public class UpdateTransactionsTask extends AsyncTask { String dateString = cursor.getString(1); Date date = Globals.parseLedgerDate(dateString); - if ((lastDate == null) || !lastDate.equals(date)) { - boolean showMonth = (lastDate == null) || (date != null) && - (date.getMonth() != - lastDate.getMonth() || - date.getYear() != - lastDate.getYear()); + if (!lastDateString.equals(dateString)) { + boolean showMonth = (date.getMonth() != lastDate.getMonth() || + date.getYear() != lastDate.getYear()); newList.add(new TransactionListItem(date, showMonth)); } newList.add( @@ -82,6 +84,7 @@ public class UpdateTransactionsTask extends AsyncTask { // Log.d("UTT", String.format("got transaction %d", transaction_id)); lastDate = date; + lastDateString = dateString; odd = !odd; } Data.transactions.set(newList);