X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fnew_transaction%2FNewTransactionModel.java;h=d1db37b2c5f242ec8bb424537f94e75e21ee9276;hb=a0508ea0def0c4c6400626f26517d8e69631ff15;hp=b22bcc14d390683055e64e9dccb4fdbe12d02507;hpb=9d3292a088ce87c01e2c7338a670efecd92c5fe9;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionModel.java b/app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionModel.java index b22bcc14..d1db37b2 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionModel.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionModel.java @@ -18,6 +18,8 @@ package net.ktnx.mobileledger.ui.new_transaction; import android.annotation.SuppressLint; +import android.os.Handler; +import android.os.Looper; import android.text.TextUtils; import androidx.annotation.NonNull; @@ -168,6 +170,7 @@ public class NewTransactionModel extends ViewModel { return this.isSubmittable; } void reset() { + Logger.debug("new-trans", "Resetting model"); List list = new ArrayList<>(); list.add(new TransactionHead("")); list.add(new TransactionAccount("")); @@ -276,7 +279,7 @@ public class NewTransactionModel extends ViewModel { newItems.add(accRow); } - items.postValue(newItems); + new Handler(Looper.getMainLooper()).post(() -> setItems(newItems)); }); } private int extractIntFromMatches(MatchResult m, Integer group, Integer literal) { @@ -1037,6 +1040,7 @@ public class NewTransactionModel extends ViewModel { private FocusedElement focusedElement = FocusedElement.Account; private boolean amountHintIsSet = true; private boolean isLast = false; + private int accountNameCursorPosition; public TransactionAccount(TransactionAccount origin) { id = origin.id; accountName = origin.accountName; @@ -1049,6 +1053,7 @@ public class NewTransactionModel extends ViewModel { amountValid = origin.amountValid; focusedElement = origin.focusedElement; isLast = origin.isLast; + accountNameCursorPosition = origin.accountNameCursorPosition; } public TransactionAccount(LedgerTransactionAccount account) { super(); @@ -1175,6 +1180,12 @@ public class NewTransactionModel extends ViewModel { equal)); return equal; } + public int getAccountNameCursorPosition() { + return accountNameCursorPosition; + } + public void setAccountNameCursorPosition(int position) { + this.accountNameCursorPosition = position; + } } private static class BalanceForCurrency {