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=9db9c9dfdce8426b0df7275c7246c6515026f08f;hp=20a8a20bef3ef59ccb776f91cb7863b6b571ac89;hb=0fc2ddc465cd9b9314ae336e69535020a96a7fbc;hpb=8d679bd0f916651309eada885bcff8970193909f 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 20a8a20b..9db9c9df 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java @@ -73,8 +73,11 @@ public class RetrieveTransactionsTask private Pattern reAccountName = Pattern.compile("/register\\?q=inacct%3A([a-zA-Z0-9%]+)\""); private Pattern reAccountValue = Pattern.compile( "\\s*([-+]?[\\d.,]+)(?:\\s+(\\S+))?"); - public RetrieveTransactionsTask(WeakReference contextRef) { + private MobileLedgerProfile profile; + public RetrieveTransactionsTask(WeakReference contextRef, + MobileLedgerProfile profile) { this.contextRef = contextRef; + this.profile = profile; } private static void L(String msg) { //debug("transaction-parser", msg); @@ -107,7 +110,7 @@ public class RetrieveTransactionsTask if (context == null) return; context.onRetrieveDone(null); } - private String retrieveTransactionListLegacy(MobileLedgerProfile profile) + private String retrieveTransactionListLegacy() throws IOException, ParseException, HTTPException { Progress progress = new Progress(); int maxTransactionId = Progress.INDETERMINATE; @@ -393,7 +396,7 @@ public class RetrieveTransactionsTask new String[]{profile.getUuid()}); db.execSQL("update accounts set keep=0 where profile=?;", new String[]{profile.getUuid()}); } - private boolean retrieveAccountList(MobileLedgerProfile profile) + private boolean retrieveAccountList() throws IOException, HTTPException { Progress progress = new Progress(); @@ -481,7 +484,7 @@ public class RetrieveTransactionsTask return true; } - private boolean retrieveTransactionList(MobileLedgerProfile profile) + private boolean retrieveTransactionList() throws IOException, ParseException, HTTPException { Progress progress = new Progress(); int maxTransactionId = Progress.INDETERMINATE; @@ -589,11 +592,10 @@ public class RetrieveTransactionsTask @SuppressLint("DefaultLocale") @Override protected String doInBackground(Void... params) { - MobileLedgerProfile profile = Data.profile.get(); Data.backgroundTaskStarted(); try { - if (!retrieveAccountList(profile) || !retrieveTransactionList(profile)) - return retrieveTransactionListLegacy(profile); + if (!retrieveAccountList() || !retrieveTransactionList()) + return retrieveTransactionListLegacy(); return null; } catch (MalformedURLException e) {