X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionModel.java;h=5bc327a78329ffcb6c2ca3b0570d0de13d581b8f;hb=44444c406faf8cab3542b05df60d2c837cdc4ca2;hp=bd2c640fd0ddfaa7b477f1287e6875c9f306b3e1;hpb=7ae5407090d9ffe2026775ba9e569014f879b54d;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionModel.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionModel.java index bd2c640f..5bc327a7 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionModel.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionModel.java @@ -298,7 +298,24 @@ public class NewTransactionModel extends ViewModel { getItem(position).setFocusedElement(element); } public void swapItems(int one, int two) { - Collections.swap(items, one-1, two-1); + Collections.swap(items, one - 1, two - 1); + } + public void toggleComment(int position) { + final MutableLiveData commentVisible = getItem(position).commentVisible; + commentVisible.postValue(!commentVisible.getValue()); + } + public void moveItemLast(int index) { + /* 0 + 1 <-- index + 2 + 3 <-- desired position + */ + int itemCount = items.size(); + + if (index < itemCount - 1) { + Item acc = items.remove(index); + items.add(itemCount - 1, acc); + } } enum ItemType {generalData, transactionRow, bottomFiller} @@ -315,6 +332,8 @@ public class NewTransactionModel extends ViewModel { private NewTransactionModel model; private MutableLiveData editable = new MutableLiveData<>(true); private FocusedElement focusedElement = FocusedElement.Account; + private MutableLiveData comment = new MutableLiveData<>(null); + private MutableLiveData commentVisible = new MutableLiveData<>(false); public Item(NewTransactionModel model) { this.model = model; type = ItemType.bottomFiller; @@ -506,5 +525,23 @@ public class NewTransactionModel extends ViewModel { public void stopObservingEditableFlag(Observer observer) { editable.removeObserver(observer); } + public void observeCommentVisible(NewTransactionActivity activity, + Observer observer) { + commentVisible.observe(activity, observer); + } + public void stopObservingCommentVisible(Observer observer) { + commentVisible.removeObserver(observer); + } + public void observeComment(NewTransactionActivity activity, + Observer observer) { + comment.observe(activity, observer); + } + public void stopObservingComment(Observer observer) { + comment.removeObserver(observer); + } + public void setComment(String comment) { + getAccount().setComment(comment); + this.comment.postValue(comment); + } } }