X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fnew_transaction%2FNewTransactionModel.java;h=23a4ef73cafcd6eddefcfa9ff59b1e832e5187ec;hb=94dd025cb41a089504314a48ba2f99d4c5d911c5;hp=d092be213a9e008cab7519985812e5ad37171270;hpb=fc6385026ff7f7fb74c7e21f6243a1fa90eb352e;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 d092be21..23a4ef73 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 @@ -348,6 +348,11 @@ public class NewTransactionModel extends ViewModel { List newList = shallowCopyList(); Item item = newList.remove(fromIndex); newList.add(toIndex, item); + + FocusInfo fi = focusInfo.getValue(); + if (fi != null && fi.position == fromIndex) + noteFocusChanged(toIndex, fi.element); + items.setValue(newList); // same count, same submittable state } void moveItemLast(List list, int index) { @@ -529,7 +534,8 @@ public class NewTransactionModel extends ViewModel { } if (BuildConfig.DEBUG) - dumpItemList("Before submittable checks", list); + dumpItemList(String.format("Before submittable checks (%s)", + workingWithLiveList ? "LIVE LIST" : "custom list"), list); int accounts = 0; final BalanceForCurrency balance = new BalanceForCurrency(); @@ -682,7 +688,7 @@ public class NewTransactionModel extends ViewModel { if (item == receiver) { final String hint = String.format("%1.2f", -currencyBalance); if (!acc.isAmountHintSet() || - !TextUtils.equals(acc.getAmountHint(), hint)) + !Misc.equalStrings(acc.getAmountHint(), hint)) { Logger.debug("submittable", String.format("Setting amount hint of {%s} to %s [%s]", @@ -967,7 +973,7 @@ public class NewTransactionModel extends ViewModel { if (TextUtils.isEmpty(description)) b.append(" «no description»"); else - b.append(String.format(" descr'%s'", description)); + b.append(String.format(" '%s'", description)); if (date != null) b.append(String.format("@%s", date.toString())); @@ -1001,8 +1007,8 @@ public class NewTransactionModel extends ViewModel { return false; return Objects.equals(date, other.date) && - TextUtils.equals(description, other.description) && - TextUtils.equals(comment, other.comment); + Misc.equalStrings(description, other.description) && + Misc.equalStrings(comment, other.comment); } } @@ -1144,16 +1150,16 @@ public class NewTransactionModel extends ViewModel { if (other == null) return false; - boolean equal = TextUtils.equals(accountName, other.accountName); - equal = equal && TextUtils.equals(comment, other.comment) && + boolean equal = Misc.equalStrings(accountName, other.accountName); + equal = equal && Misc.equalStrings(comment, other.comment) && (amountSet ? other.amountSet && amount == other.amount : !other.amountSet); // compare amount hint only if there is no amount if (!amountSet) equal = equal && (amountHintIsSet ? other.amountHintIsSet && - TextUtils.equals(amountHint, other.amountHint) + Misc.equalStrings(amountHint, other.amountHint) : !other.amountHintIsSet); - equal = equal && TextUtils.equals(currency, other.currency) && isLast == other.isLast; + equal = equal && Misc.equalStrings(currency, other.currency) && isLast == other.isLast; Logger.debug("new-trans", String.format("Comparing {%s} and {%s}: %s", this.toString(), other.toString(),