X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FRetrieveTransactionsTask.java;h=190aa7ed543cb9918706fd1591b1068acb4febab;hp=451b164ec206184b6b706a94c82770b721600a54;hb=160edb0e0fe58f5076329e8622db414001895530;hpb=483bc7255c2d181093d154b26430f081308cd81f diff --git a/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java b/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java index 451b164e..190aa7ed 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java @@ -21,11 +21,12 @@ import android.annotation.SuppressLint; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.os.AsyncTask; +import android.util.Log; import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.TransactionListActivity; import net.ktnx.mobileledger.model.LedgerTransaction; -import net.ktnx.mobileledger.model.LedgerTransactionItem; +import net.ktnx.mobileledger.model.LedgerTransactionAccount; import net.ktnx.mobileledger.utils.MLDB; import net.ktnx.mobileledger.utils.NetworkUtil; @@ -37,6 +38,7 @@ import java.io.InputStreamReader; import java.lang.ref.WeakReference; import java.net.HttpURLConnection; import java.net.MalformedURLException; +import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -177,6 +179,7 @@ public class RetrieveTransactionsTask extends db.execSQL("UPDATE transactions SET keep=1 WHERE " + "id < ?", new Integer[]{transaction.getId()}); + success = true; progress.setTotal(progress.getProgress()); publishProgress(progress); break LINES; @@ -212,17 +215,19 @@ public class RetrieveTransactionsTask extends String acc_name = m.group(1); String amount = m.group(2); amount = amount.replace(',', '.'); - transaction.add_item(new LedgerTransactionItem(acc_name, - Float.valueOf(amount))); + transaction.addAccount( + new LedgerTransactionAccount(acc_name, + Float.valueOf(amount))); L(String.format("%s = %s", acc_name, amount)); } else throw new IllegalStateException( - String.format("Can't parse transaction details")); + String.format("Can't parse transaction %d details", + transactionId)); } break; default: throw new RuntimeException( - String.format("Unknown " + "parser state %d", state)); + String.format("Unknown parser state %d", state)); } } if (!isCancelled()) { @@ -236,7 +241,11 @@ public class RetrieveTransactionsTask extends } } - if (success && !isCancelled()) ctx.model.reloadTransactions(ctx); + if (success && !isCancelled()) { + Log.d("db", "Updating transaction list stamp"); + MLDB.set_option_value(ctx, MLDB.OPT_TRANSACTION_LIST_STAMP, new Date().getTime()); + ctx.model.reloadTransactions(ctx); + } } catch (MalformedURLException e) { error = R.string.err_bad_backend_url; @@ -257,33 +266,14 @@ public class RetrieveTransactionsTask extends } public static class Params { - static final int DEFAULT_LIMIT = 100; private SharedPreferences backendPref; - private String accountsRoot; - private int limit; public Params(SharedPreferences backendPref) { this.backendPref = backendPref; - this.accountsRoot = null; - this.limit = DEFAULT_LIMIT; - } - Params(SharedPreferences backendPref, String accountsRoot) { - this(backendPref, accountsRoot, DEFAULT_LIMIT); - } - Params(SharedPreferences backendPref, String accountsRoot, int limit) { - this.backendPref = backendPref; - this.accountsRoot = accountsRoot; - this.limit = limit; - } - String getAccountsRoot() { - return accountsRoot; } SharedPreferences getBackendPref() { return backendPref; } - int getLimit() { - return limit; - } } public class Progress {