]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/model/LedgerTransaction.java
rework account list management to be fully asynchronous
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / model / LedgerTransaction.java
index 5bc8456bb4b81b8939e3b088ad1c9470ad8db0ca..638a692cff56d21417e15786183c2bb0a14109a2 100644 (file)
@@ -21,6 +21,7 @@ import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 
 import net.ktnx.mobileledger.App;
 import net.ktnx.mobileledger.utils.Digest;
@@ -101,6 +102,10 @@ public class LedgerTransaction {
         accounts.add(item);
         dataHash = null;
     }
+    @Nullable
+    public SimpleDate getDateIfAny() {
+        return date;
+    }
     @NonNull
     public SimpleDate getDate() {
         loadData(App.getDatabase());
@@ -214,4 +219,27 @@ public class LedgerTransaction {
     public void finishLoading() {
         dataLoaded = true;
     }
+    @Override
+    public boolean equals(@Nullable Object obj) {
+        if (obj == null)
+            return false;
+        if (!obj.getClass()
+                .equals(this.getClass()))
+            return false;
+
+        return ((LedgerTransaction) obj).getDataHash()
+                                        .equals(getDataHash());
+    }
+
+    public boolean hasAccountNamedLike(String name) {
+        name = name.toUpperCase();
+        for (LedgerTransactionAccount acc : accounts) {
+            if (acc.getAccountName()
+                   .toUpperCase()
+                   .contains(name))
+                return true;
+        }
+
+        return false;
+    }
 }