X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FRetrieveTransactionsTask.java;h=ad0641216b68b28cbb98292d04b1a082df2cec7b;hb=ee7f9769f1f6a6e02fed8c4d7b68c8f4ac5c4ea2;hp=5a65f57a6ee08ce2a555c78703980d9315c624d5;hpb=afced97133f39b017426da1326456d2f5cef230b;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 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: