X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FUpdateTransactionsTask.java;h=43de74025ad83ca7dc8dd511080dcc60d2d3c55c;hb=HEAD;hp=545aec36ec4cec6427b36e77b4d2585fd4c80259;hpb=73c4c4ca18b426795e582c1d6012f3893d80c8c9;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java b/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java deleted file mode 100644 index 545aec36..00000000 --- a/app/src/main/java/net/ktnx/mobileledger/async/UpdateTransactionsTask.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright © 2019 Damyan Ivanov. - * This file is part of MoLe. - * MoLe is free software: you can distribute it and/or modify it - * under the term of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your opinion), any later version. - * - * MoLe is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License terms for details. - * - * You should have received a copy of the GNU General Public License - * along with MoLe. If not, see . - */ - -package net.ktnx.mobileledger.async; - -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.os.AsyncTask; - -import net.ktnx.mobileledger.App; -import net.ktnx.mobileledger.model.Data; -import net.ktnx.mobileledger.model.LedgerTransaction; -import net.ktnx.mobileledger.model.MobileLedgerProfile; -import net.ktnx.mobileledger.model.TransactionListItem; -import net.ktnx.mobileledger.utils.Globals; - -import java.text.ParseException; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; - -import static net.ktnx.mobileledger.utils.Logger.debug; - -public class UpdateTransactionsTask extends AsyncTask { - protected String doInBackground(String[] filterAccName) { - final MobileLedgerProfile profile = Data.profile.getValue(); - if (profile == null) return "Profile not configured"; - - String profile_uuid = profile.getUuid(); - Data.backgroundTaskStarted(); - try { - ArrayList newList = new ArrayList<>(); - - String sql; - String[] params; - - if (filterAccName[0] == null) { - sql = "SELECT id, date FROM transactions WHERE profile=? ORDER BY date desc, id " + - "desc"; - params = new String[]{profile_uuid}; - - } - else { - sql = "SELECT distinct tr.id, tr.date from transactions tr JOIN " + - "transaction_accounts ta " + - "ON ta.transaction_id=tr.id AND ta.profile=tr.profile WHERE tr.profile=? " + - "and ta.account_name LIKE ?||'%' AND ta" + - ".amount <> 0 ORDER BY tr.date desc, tr.id desc"; - params = new String[]{profile_uuid, filterAccName[0]}; - } - - debug("UTT", sql); - SQLiteDatabase db = App.getDatabase(); - String lastDateString = Globals.formatLedgerDate(new Date()); - Calendar lastDate = Globals.parseLedgerDateAsCalendar(lastDateString); - boolean odd = true; - try (Cursor cursor = db.rawQuery(sql, params)) { - while (cursor.moveToNext()) { - if (isCancelled()) - return null; - - int transaction_id = cursor.getInt(0); - String dateString = cursor.getString(1); - Calendar date = Globals.parseLedgerDateAsCalendar(dateString); - - if (!lastDateString.equals(dateString)) { - boolean showMonth = - (date.get(Calendar.MONTH) != lastDate.get(Calendar.MONTH)) || - (date.get(Calendar.YEAR) != lastDate.get(Calendar.YEAR)); - newList.add(new TransactionListItem(date.getTime(), showMonth)); - } - newList.add( - new TransactionListItem(new LedgerTransaction(transaction_id), odd)); -// debug("UTT", String.format("got transaction %d", transaction_id)); - - lastDate = date; - lastDateString = dateString; - odd = !odd; - } - Data.transactions.setList(newList); - debug("UTT", "transaction list value updated"); - } - - return null; - } - catch (ParseException e) { - return String.format("Error parsing stored date '%s'", e.getMessage()); - } - finally { - Data.backgroundTaskFinished(); - } - } -}