X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionModel.java;h=39b9ac8ad60f09dd3b44eae84995870f9158ccf1;hp=e1e1166d7b4cba65e962f0c067e7755f07225830;hb=54e204dbd812a622745677849e1dec9210d1d926;hpb=7cb9091315c4adf9bb278995469c0bb401c33939 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 e1e1166d..39b9ac8a 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 @@ -277,6 +277,12 @@ public class NewTransactionModel extends ViewModel { public void updateFocusedItem(int position) { focusedItem.setValue(position); } + public void noteFocusIsOnAccount(int position) { + getItem(position).setFocusIsOnAmount(false); + } + public void noteFocusIsOnAmount(int position) { + getItem(position).setFocusIsOnAmount(true); + } enum ItemType {generalData, transactionRow, bottomFiller} //========================================================================================== @@ -289,6 +295,7 @@ public class NewTransactionModel extends ViewModel { private MutableLiveData amountHint = new MutableLiveData<>(null); private NewTransactionModel model; private MutableLiveData editable = new MutableLiveData<>(true); + private boolean focusIsOnAmount = false; public Item(NewTransactionModel model) { this.model = model; type = ItemType.bottomFiller; @@ -307,6 +314,9 @@ public class NewTransactionModel extends ViewModel { this.account = account; this.editable.setValue(true); } + public boolean focusIsOnAmount() { + return focusIsOnAmount; + } public NewTransactionModel getModel() { return model; } @@ -368,6 +378,13 @@ public class NewTransactionModel extends ViewModel { this.date.setValue(date); } public void setDate(String text) { + if ((text == null) || text.trim() + .isEmpty()) + { + setDate((Date) null); + return; + } + int year, month, day; final Calendar c = GregorianCalendar.getInstance(); Matcher m = reYMD.matcher(text); @@ -467,5 +484,8 @@ public class NewTransactionModel extends ViewModel { public void stopObservingEditableFlag(Observer observer) { editable.removeObserver(observer); } + public void setFocusIsOnAmount(boolean flag) { + focusIsOnAmount = flag; + } } }