ArrayList<LedgerAccount> list = new ArrayList<>();
HashMap<String, LedgerAccount> map = new HashMap<>();
- String sql = "SELECT a.name, a.expanded, a.amounts_expanded";
- sql += " from accounts a WHERE a.profile = ?";
+ String sql = "SELECT a.name, a.expanded, a.amounts_expanded, a.id";
+ sql += " from accounts a WHERE a.profile_id = ?";
sql += " ORDER BY a.name";
SQLiteDatabase db = App.getDatabase();
if (isInterrupted())
return;
+ final long accId = cursor.getLong(3);
final String accName = cursor.getString(0);
// debug("accounts",
// String.format("Read account '%s' from DB [%s]", accName,
acc.setHasSubAccounts(false);
try (Cursor c2 = db.rawQuery(
- "SELECT value, currency FROM account_values WHERE profile = ?" + " " +
- "AND account = ?", new String[]{String.valueOf(profileId), accName}))
+ "SELECT value, currency FROM account_values WHERE account_id = ?",
+ new String[]{String.valueOf(accId)}))
{
while (c2.moveToNext()) {
acc.addAmount(c2.getFloat(0), c2.getString(1));
Logger.debug("dFilter", "waiting for synchronized block");
Logger.debug("dFilter", String.format(Locale.US,
"entered synchronized block (about to examine %d accounts)", list.size()));
- newDisplayed.add(new AccountListItem()); // header
+ newDisplayed.add(new AccountListItem.Header()); // header
int count = 0;
for (LedgerAccount a : list) {
return;
if (a.isVisible()) {
- newDisplayed.add(new AccountListItem(a));
+ newDisplayed.add(new AccountListItem.Account(a));
count++;
}
}