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=ad0641216b68b28cbb98292d04b1a082df2cec7b;hp=5a65f57a6ee08ce2a555c78703980d9315c624d5;hb=bb21e22f7b251a22cc830358e9f2c1d2911965c4;hpb=d3a64f9a064a144b0ea8e4568517595615b2d943 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 5a65f57a..ad064121 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java @@ -61,6 +61,7 @@ public class RetrieveTransactionsTask extends protected WeakReference contextRef; protected int error; // %3A is '=' + private Pattern ledger_title_re = Pattern.compile("

([^<]+)

"); Pattern account_name_re = Pattern.compile("/register\\?q=inacct%3A([a-zA-Z0-9%]+)\""); Pattern account_value_re = Pattern.compile( "\\s*([-+]?[\\d.,]+)(?:\\s+(\\S+))?"); @@ -125,6 +126,8 @@ public class RetrieveTransactionsTask extends String.format("HTTP error %d", http.getResponseCode())); db.beginTransaction(); try { + String ledgerTitle = null; + db.execSQL("UPDATE transactions set keep=0"); db.execSQL("update account_values set keep=0;"); db.execSQL("update accounts set keep=0;"); @@ -165,6 +168,13 @@ public class RetrieveTransactionsTask extends state = ParserState.EXPECTING_ACCOUNT_AMOUNT; L("→ expecting account amount"); } + else if (ledgerTitle == null) { + m = ledger_title_re.matcher(line); + if (m.find()) { + ledgerTitle = m.group(1); + Data.ledgerTitle.set(ledgerTitle); + } + } break; case EXPECTING_ACCOUNT_AMOUNT: