AccountListParser parser = new AccountListParser(resp);
while (true) {
+ throwIfCancelled();
ParsedLedgerAccount parsedAccount = parser.nextAccount();
if (parsedAccount == null) break;
b.getAquantity().asFloat());
}
}
+ throwIfCancelled();
profile.deleteNotPresentAccounts(db);
+ throwIfCancelled();
db.setTransactionSuccessful();
}
finally {
try (InputStream resp = http.getInputStream()) {
if (http.getResponseCode() != 200)
throw new IOException(String.format("HTTP error %d", http.getResponseCode()));
+ throwIfCancelled();
db.beginTransaction();
try {
profile.markTransactionsAsNotPresent(db);
int processedTransactionCount = 0;
while (true) {
+ throwIfCancelled();
ParsedLedgerTransaction parsedTransaction = parser.nextTransaction();
+ throwIfCancelled();
if (parsedTransaction == null) break;
LedgerTransaction transaction = parsedTransaction.asLedgerTransaction();
if (transaction.existsInDb(db)) {
publishProgress(progress);
}
+ throwIfCancelled();
profile.deleteNotPresentTransactions(db);
+ throwIfCancelled();
db.setTransactionSuccessful();
profile.setLastUpdateStamp();
}