cache short account names
authorDamyan Ivanov <dam+mobileledger@ktnx.net>
Fri, 21 Dec 2018 17:04:39 +0000 (17:04 +0000)
committerDamyan Ivanov <dam+mobileledger@ktnx.net>
Fri, 21 Dec 2018 17:04:39 +0000 (17:04 +0000)
app/src/main/java/net/ktnx/mobileledger/model/LedgerTransactionAccount.java

index 04ea9c06c43831061996d19b19fe3560b461b3c6..bfef8e2c171c906459d1dc851e99d500776bdc65 100644 (file)
@@ -21,6 +21,7 @@ import android.support.annotation.NonNull;
 
 public class LedgerTransactionAccount {
     private String accountName;
+    private String shortAccountName;
     private float amount;
     private boolean amountSet;
     private String currency;
@@ -29,7 +30,7 @@ public class LedgerTransactionAccount {
         this(accountName, amount, null);
     }
     public LedgerTransactionAccount(String accountName, float amount, String currency) {
-        this.accountName = accountName;
+        this.setAccountName(accountName);
         this.amount = amount;
         this.amountSet = true;
         this.currency = currency;
@@ -43,13 +44,11 @@ public class LedgerTransactionAccount {
         return accountName;
     }
     public String getShortAccountName() {
-        String result = accountName;
-        result = result.replaceAll("(?<=^|:)(.)[^:]+(?=:)", "$1");
-        return result;
+        return shortAccountName;
     }
-
     public void setAccountName(String accountName) {
         this.accountName = accountName;
+        shortAccountName = accountName.replaceAll("(?<=^|:)(.)[^:]+(?=:)", "$1");
     }
 
     public float getAmount() {