X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fmodel%2FAccountListItem.java;fp=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fmodel%2FAccountListItem.java;h=dfd3d982011a105191f5e801bea2fcc5e276c4d6;hp=a96a9a3e2f75c4e9da6bc300e760e47879a860a9;hb=8098a8b37a4331b9faf6cf50a51a0d7aa9677421;hpb=55e1029ad80ef8eb223413d9cc633efefb1b68ac diff --git a/app/src/main/java/net/ktnx/mobileledger/model/AccountListItem.java b/app/src/main/java/net/ktnx/mobileledger/model/AccountListItem.java index a96a9a3e..dfd3d982 100644 --- a/app/src/main/java/net/ktnx/mobileledger/model/AccountListItem.java +++ b/app/src/main/java/net/ktnx/mobileledger/model/AccountListItem.java @@ -18,11 +18,13 @@ package net.ktnx.mobileledger.model; import androidx.annotation.NonNull; +import androidx.lifecycle.LiveData; import org.jetbrains.annotations.NotNull; -public class AccountListItem { +public abstract class AccountListItem { private AccountListItem() {} + public abstract boolean sameContent(AccountListItem other); @NonNull public Type getType() { if (this instanceof Account) @@ -46,10 +48,30 @@ public class AccountListItem { public Account(@NotNull LedgerAccount account) { this.account = account; } + @Override + public boolean sameContent(AccountListItem other) { + if (!(other instanceof Account)) + return false; + return ((Account) other).account.hasSubAccounts() == account.hasSubAccounts() && + ((Account) other).account.amountsExpanded() == account.amountsExpanded() && + ((Account) other).account.isExpanded() == account.isExpanded() && + ((Account) other).account.getLevel() == account.getLevel() && + ((Account) other).account.getAmountsString() + .equals(account.getAmountsString()); + } } public static class Header extends AccountListItem { - public Header() { + private final LiveData text; + public Header(@NonNull LiveData text) { + this.text = text; + } + public LiveData getText() { + return text; + } + @Override + public boolean sameContent(AccountListItem other) { + return true; } } }