X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionActivity.java;h=04cabd6b7b8275fbb45f1977850b4945525d2a4d;hp=31e20b2cdbeb669bd5d425d38169d9ad955f52b1;hb=0974c053bfa714958b1ce911865907085232a6d9;hpb=4267ae2dcbc6fec16f1aa0fe49971f48d0e389ab diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java index 31e20b2c..04cabd6b 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java @@ -24,7 +24,6 @@ import android.support.design.widget.BaseTransientBottomBar; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v4.app.DialogFragment; -import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.text.Editable; import android.text.InputType; @@ -73,7 +72,7 @@ import java.util.Objects; * TODO: nicer swiping removal with visual feedback * */ -public class NewTransactionActivity extends AppCompatActivity +public class NewTransactionActivity extends CrashReportingActivity implements TaskCallback, DescriptionSelectedCallback { private static SaveTransactionTask saver; private TableLayout table; @@ -301,6 +300,7 @@ public class NewTransactionActivity extends AppCompatActivity amt.setMinWidth(dp2px(40)); amt.setTextAlignment(EditText.TEXT_ALIGNMENT_VIEW_END); amt.setImeOptions(EditorInfo.IME_ACTION_DONE); + amt.setSelectAllOnFocus(true); // forward navigation support final TableRow last_row = (TableRow) table.getChildAt(table.getChildCount() - 1); @@ -495,6 +495,8 @@ public class NewTransactionActivity extends AppCompatActivity int i = 0; table = findViewById(R.id.new_transaction_accounts_table); ArrayList accounts = tr.getAccounts(); + TableRow firstNegative = null; + int negativeCount = 0; for (i = 0; i < accounts.size(); i++) { LedgerTransactionAccount acc = accounts.get(i); TableRow row = (TableRow) table.getChildAt(i); @@ -503,11 +505,23 @@ public class NewTransactionActivity extends AppCompatActivity ((TextView) row.getChildAt(0)).setText(acc.getAccountName()); ((TextView) row.getChildAt(1)) .setText(String.format(Locale.US, "%1.2f", acc.getAmount())); + + if (acc.getAmount() < 0.005) { + if (firstNegative == null) firstNegative = row; + negativeCount++; + } + } + + if (negativeCount == 1) { + ((TextView) firstNegative.getChildAt(1)).setText(null); } check_transaction_submittable(); - ((TableRow) table.getChildAt(table.getChildCount() - 1)).getChildAt(0).requestFocus(); + EditText firstAmount = (EditText) ((TableRow) table.getChildAt(0)).getChildAt(1); + String amtString = String.valueOf(firstAmount.getText()); + firstAmount.requestFocus(); + firstAmount.setSelection(0, amtString.length()); } }