]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionItemHolder.java
clean up unused resources
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / new_transaction / NewTransactionItemHolder.java
index f60980fa652e1b770909ac3d36b89c46f5a0cea4..5757c72a249073360e5a2a20a4c3d8eb7fb7b67a 100644 (file)
@@ -125,8 +125,16 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder
                         String input = String.valueOf(b.accountRowAccAmounts.getText());
                         input = input.replace(decimalSeparator, decimalDot);
                         final String newText = String.format("%4.2f", Float.parseFloat(input));
-                        if (!newText.equals(input))
-                            b.accountRowAccAmounts.setText(newText);
+                        if (!newText.equals(input)) {
+                            boolean wasSyncingData = syncingData;
+                            syncingData = true;
+                            try {
+                                b.accountRowAccAmounts.setText(newText);
+                            }
+                            finally {
+                                syncingData = wasSyncingData;
+                            }
+                        }
                     }
                     catch (NumberFormatException ex) {
                         // ignored
@@ -480,6 +488,12 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder
             return false;
         }
 
+        if (getAdapterPosition() < 0) {
+            // probably the row was swiped out
+            Logger.debug("new-trans", "Ignoring request to suncData(): adapter position negative");
+            return false;
+        }
+
         NewTransactionModel.Item item = getItem();
 
         syncingData = true;
@@ -552,7 +566,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder
                     else
                         currValue = curr;
 
-                    if (!significantChange && !TextUtils.equals(acc.getCurrency(), currValue))
+                    if (!significantChange && !Misc.equalStrings(acc.getCurrency(), currValue))
                         significantChange = true;
                     acc.setCurrency(currValue);
                 }
@@ -616,7 +630,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder
 
                     final String incomingAccountName = acc.getAccountName();
                     final String presentAccountName = String.valueOf(b.accountRowAccName.getText());
-                    if (!TextUtils.equals(incomingAccountName, presentAccountName)) {
+                    if (!Misc.equalStrings(incomingAccountName, presentAccountName)) {
                         Logger.debug("bind",
                                 String.format("Setting account name from '%s' to '%s' (| @ %d)",
                                         presentAccountName, incomingAccountName,