X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FRetrieveTransactionsTask.java;h=93132545d87dde15bb0dbdd1e5250b75212af25a;hb=0699ca1aaa0980079482d7479fabc4b159c9cc6f;hp=60827d2130e0e6484feee8d32f529a5fca849e35;hpb=80acc2f07353d971e5da6af91cbe39d0d2a3a705;p=mobile-ledger.git 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 60827d21..93132545 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java @@ -114,6 +114,8 @@ public class RetrieveTransactionsTask extends LedgerTransaction transaction = null; LINES: while ((line = buf.readLine()) != null) { + if (isCancelled()) break; + if (!line.isEmpty() && (line.charAt(0) == ' ')) continue; Matcher m; L(String.format("State is %d", state)); switch (state) { @@ -167,6 +169,14 @@ public class RetrieveTransactionsTask extends state = ParserState.EXPECTING_TRANSACTION; L(String.format("transaction %s saved → expecting " + "transaction", transaction.getId())); + +// sounds like a good idea, but transaction-1 may not be the first one chronologically +// for example, when you add the initial seeding transaction after entering some others +// if (transactionId == 1) { +// L("This was the initial transaction. Terminating " + +// "parser"); +// break LINES; +// } } else { m = transactionDetailsPattern.matcher(line); @@ -189,7 +199,7 @@ public class RetrieveTransactionsTask extends state)); } } - db.setTransactionSuccessful(); + if (!isCancelled()) db.setTransactionSuccessful(); } finally { db.endTransaction();