]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java
move DB stuff into a static class
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / async / RetrieveTransactionsTask.java
index 1ef1ccade00e4d40cf93f266b6c3a1205b9e36a1..8a9a8f62e8e98c4917aab9e383828c48f496771d 100644 (file)
@@ -28,7 +28,7 @@ import net.ktnx.mobileledger.R;
 import net.ktnx.mobileledger.TransactionListActivity;
 import net.ktnx.mobileledger.model.LedgerTransaction;
 import net.ktnx.mobileledger.model.LedgerTransactionItem;
-import net.ktnx.mobileledger.utils.MobileLedgerDatabase;
+import net.ktnx.mobileledger.utils.MLDB;
 import net.ktnx.mobileledger.utils.NetworkUtil;
 
 import java.io.BufferedReader;
@@ -94,8 +94,7 @@ public class RetrieveTransactionsTask extends
             publishProgress(progress);
             Context ctx = contextRef.get();
             if (ctx == null) return null;
-            try (MobileLedgerDatabase dbh = new MobileLedgerDatabase(ctx)) {
-                try (SQLiteDatabase db = dbh.getWritableDatabase()) {
+            try (SQLiteDatabase db = MLDB.getWritableDatabase(ctx)) {
                     try (InputStream resp = http.getInputStream()) {
                         if (http.getResponseCode() != 200) throw new IOException(
                                 String.format("HTTP error %d", http.getResponseCode()));
@@ -114,9 +113,10 @@ public class RetrieveTransactionsTask extends
                             LedgerTransaction transaction = null;
                             LINES:
                             while ((line = buf.readLine()) != null) {
+                                if (isCancelled()) break;
                                 if (!line.isEmpty() && (line.charAt(0) == ' ')) continue;
                                 Matcher m;
-                                L(String.format("State is %d", state));
+                                //L(String.format("State is %d", state));
                                 switch (state) {
                                     case ParserState.EXPECTING_JOURNAL:
                                         if (line.equals("<h2>General Journal</h2>")) {
@@ -198,7 +198,7 @@ public class RetrieveTransactionsTask extends
                                                         state));
                                 }
                             }
-                            db.setTransactionSuccessful();
+                            if (!isCancelled()) db.setTransactionSuccessful();
                         }
                         finally {
                             db.endTransaction();