]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java
move DB access routines to the application class
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / async / RetrieveTransactionsTask.java
index 9db9c9dfdce8426b0df7275c7246c6515026f08f..1962173cfecb1011bb3edfc3ea5470a74393d931 100644 (file)
@@ -22,6 +22,7 @@ import android.database.sqlite.SQLiteDatabase;
 import android.os.AsyncTask;
 import android.os.OperationCanceledException;
 
+import net.ktnx.mobileledger.App;
 import net.ktnx.mobileledger.err.HTTPException;
 import net.ktnx.mobileledger.json.AccountListParser;
 import net.ktnx.mobileledger.json.ParsedBalance;
@@ -34,7 +35,6 @@ import net.ktnx.mobileledger.model.LedgerTransaction;
 import net.ktnx.mobileledger.model.LedgerTransactionAccount;
 import net.ktnx.mobileledger.model.MobileLedgerProfile;
 import net.ktnx.mobileledger.ui.activity.MainActivity;
-import net.ktnx.mobileledger.utils.MLDB;
 import net.ktnx.mobileledger.utils.NetworkUtil;
 
 import java.io.BufferedReader;
@@ -129,7 +129,8 @@ public class RetrieveTransactionsTask
             default:
                 throw new HTTPException(http.getResponseCode(), http.getResponseMessage());
         }
-        try (SQLiteDatabase db = MLDB.getDatabase()) {
+        // FIXME: why the resource block here? that would close the global DB connection
+        try (SQLiteDatabase db = App.getDatabase()) {
             try (InputStream resp = http.getInputStream()) {
                 if (http.getResponseCode() != 200)
                     throw new IOException(String.format("HTTP error %d", http.getResponseCode()));
@@ -252,7 +253,8 @@ public class RetrieveTransactionsTask
                                     lastAccount.addAmount(val, currency);
                                     for (LedgerAccount syn : syntheticAccounts.values()) {
                                         syn.addAmount(val, currency);
-                                        profile.storeAccountValue(db, syn.getName(), currency, val);
+                                        profile.storeAccountValue(db, syn.getName(), currency,
+                                                val);
                                     }
                                 }
 
@@ -411,7 +413,7 @@ public class RetrieveTransactionsTask
                 throw new HTTPException(http.getResponseCode(), http.getResponseMessage());
         }
         publishProgress(progress);
-        SQLiteDatabase db = MLDB.getDatabase();
+        SQLiteDatabase db = App.getDatabase();
         ArrayList<LedgerAccount> accountList = new ArrayList<>();
         boolean listFilledOK = false;
         try (InputStream resp = http.getInputStream()) {
@@ -500,7 +502,7 @@ public class RetrieveTransactionsTask
             default:
                 throw new HTTPException(http.getResponseCode(), http.getResponseMessage());
         }
-        SQLiteDatabase db = MLDB.getDatabase();
+        SQLiteDatabase db = App.getDatabase();
         try (InputStream resp = http.getInputStream()) {
             if (http.getResponseCode() != 200)
                 throw new IOException(String.format("HTTP error %d", http.getResponseCode()));