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=634bb61b60d9753ea9ee27c52ef53ef5ff78071a;hp=cf3e476d10ec41499147c49fca3fa784c0225640;hb=985b25d6284011d906db1399790832008c50b07d;hpb=3755de3b88b6bb10f97b705c41a98bf6127b92cd 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 cf3e476d..634bb61b 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java @@ -51,6 +51,7 @@ import java.util.regex.Pattern; public class RetrieveTransactionsTask extends AsyncTask { + public static final int MATCHING_TRANSACTIONS_LIMIT = 100; private static final Pattern transactionStartPattern = Pattern.compile("([\\d.-]+)"); private static final Pattern transactionDescriptionPattern = @@ -246,7 +247,9 @@ public class RetrieveTransactionsTask extends "=?", new Integer[]{transaction.getId()}); matchedTransactionsCount++; - if (matchedTransactionsCount == 100) { + if (matchedTransactionsCount == + MATCHING_TRANSACTIONS_LIMIT) + { db.execSQL("UPDATE transactions SET keep=1 WHERE " + "id < ?", new Integer[]{transaction.getId()}); @@ -302,10 +305,11 @@ public class RetrieveTransactionsTask extends String.format("Unknown parser updating %s", state.name())); } } - if (!isCancelled()) { - db.execSQL("DELETE FROM transactions WHERE keep = 0"); - db.setTransactionSuccessful(); - } + + throwIfCancelled(); + + db.execSQL("DELETE FROM transactions WHERE keep = 0"); + db.setTransactionSuccessful(); } finally { db.endTransaction();