X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FNewTransactionActivity.java;h=70b5632136f7cfbaa9939cea81b5e66f6925f791;hb=5a75a6d1ffb0c52d5aadca78aa2d6ee992bfbc84;hp=5b382873aa6b9a02a0f174dd72f63a6ae3e5da25;hpb=cc080f415ad546183c7d92d8f58dddefb60560fe;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java b/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java index 5b382873..70b56321 100644 --- a/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java @@ -18,6 +18,7 @@ import android.text.InputType; import android.text.TextWatcher; import android.util.Log; import android.util.TypedValue; +import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; @@ -37,15 +38,12 @@ import java.util.Objects; * TODO: auto-fill of transaction description * if Android O's implementation won't work, add a custom one * TODO: nicer progress while transaction is submitted - * TODO: periodic and manual refresh of available accounts - * (now done forcibly each time the main activity is started) * TODO: latest transactions, maybe with browsing further in the past? * TODO: reports * TODO: get rid of the custom session/cookie and auth code? * (the last problem with the POST was the missing content-length header) * TODO: app icon * TODO: nicer swiping removal with visual feedback - * TODO: activity with current balance * TODO: setup wizard * TODO: update accounts/check settings upon change of backend settings * */ @@ -66,6 +64,13 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal setSupportActionBar(toolbar); text_date = findViewById(R.id.new_transaction_date); + text_date.setOnFocusChangeListener(new View.OnFocusChangeListener() { + @Override + public + void onFocusChange(View v, boolean hasFocus) { + if (hasFocus) pickTransactionDate(v); + } + }); text_descr = findViewById(R.id.new_transaction_description); hook_autocompletion_adapter(text_descr, MobileLedgerDB.DESCRIPTION_HISTORY_TABLE, "description"); @@ -236,6 +241,8 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal mSave = menu.findItem(R.id.action_submit_transaction); if (mSave == null) throw new AssertionError(); + check_transaction_submittable(); + return true; } @@ -255,7 +262,8 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal acc.setWidth(0); final EditText amt = new EditText(this); - amt.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT, 1f)); + amt.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, + TableRow.LayoutParams.MATCH_PARENT, 1f)); amt.setHint(R.string.new_transaction_amount_hint); amt.setWidth(0); amt.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED | InputType.TYPE_NUMBER_FLAG_DECIMAL ); @@ -264,6 +272,7 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal final TableRow row = new TableRow(this); row.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT)); + row.setGravity(Gravity.BOTTOM); row.addView(acc); row.addView(amt); table.addView(row);