X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FUpdateAccountsTask.java;h=cff03a2819dd3107a499b8d138c5677e0cd8a2f5;hp=c63dd32cfeb7f1f207acc74ed157871735802d08;hb=998dd32a089d199a2569069415755eb3169b35b0;hpb=c4cb3dbe89f1789d403058392aec51361ca1ba2f diff --git a/app/src/main/java/net/ktnx/mobileledger/async/UpdateAccountsTask.java b/app/src/main/java/net/ktnx/mobileledger/async/UpdateAccountsTask.java index c63dd32c..cff03a28 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/UpdateAccountsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/UpdateAccountsTask.java @@ -1,18 +1,18 @@ /* * Copyright © 2019 Damyan Ivanov. - * This file is part of Mobile-Ledger. - * Mobile-Ledger is free software: you can distribute it and/or modify it + * 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. * - * Mobile-Ledger is distributed in the hope that it will be useful, + * 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 Mobile-Ledger. If not, see . + * along with MoLe. If not, see . */ package net.ktnx.mobileledger.async; @@ -28,24 +28,26 @@ import net.ktnx.mobileledger.utils.MLDB; import java.util.ArrayList; -public class UpdateAccountsTask extends AsyncTask> { - protected ArrayList doInBackground(Boolean[] onlyStarred) { +public class UpdateAccountsTask extends AsyncTask> { + protected ArrayList doInBackground(Void... params) { Data.backgroundTaskCount.incrementAndGet(); + String profileUUID = Data.profile.get().getUuid(); + boolean onlyStarred = Data.optShowOnlyStarred.get(); try { ArrayList newList = new ArrayList<>(); - String sql = "SELECT name, hidden FROM accounts"; - if (onlyStarred[0]) sql += " WHERE hidden = 0"; + String sql = "SELECT name, hidden FROM accounts WHERE profile = ?"; + if (onlyStarred) sql += " AND hidden = 0"; sql += " ORDER BY name"; SQLiteDatabase db = MLDB.getReadableDatabase(); - try (Cursor cursor = db.rawQuery(sql, null)) { + try (Cursor cursor = db.rawQuery(sql, new String[]{profileUUID})) { while (cursor.moveToNext()) { LedgerAccount acc = new LedgerAccount(cursor.getString(0)); acc.setHidden(cursor.getInt(1) == 1); try (Cursor c2 = db.rawQuery( - "SELECT value, currency FROM account_values " + "WHERE account = ?", - new String[]{acc.getName()})) + "SELECT value, currency FROM account_values WHERE profile = ? " + + "AND account = ?", new String[]{profileUUID, acc.getName()})) { while (c2.moveToNext()) { acc.addAmount(c2.getFloat(0), c2.getString(1));