]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java
some renames to better reflect the function
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / async / RetrieveTransactionsTask.java
index afdef7df08887fbc6e1f0d2ee41a2a71afe32edb..190aa7ed543cb9918706fd1591b1068acb4febab 100644 (file)
@@ -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;