X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FNewTransactionActivity.java;h=5ab1af08b2b5a913eaec9db095add5f84e550570;hb=7ec1c4772ff88e23ed826cc19c5a9a32e35ddf7e;hp=3e4b73ccc2b7e2da4c132cd45fd3fae611f3cc2c;hpb=e7f868db998a495e26167c3406818ba336d6f863;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 3e4b73cc..5ab1af08 100644 --- a/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java @@ -8,6 +8,7 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.provider.FontsContract; +import android.support.design.widget.BaseTransientBottomBar; import android.support.design.widget.Snackbar; import android.support.v4.app.DialogFragment; import android.support.v7.app.AppCompatActivity; @@ -17,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; @@ -36,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 * */ @@ -202,7 +201,7 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal "SELECT %s as a, case when %s_upper LIKE ?||'%%' then 1 " + "WHEN %s_upper LIKE '%%:'||?||'%%' then 2 " + "WHEN %s_upper LIKE '%% '||?||'%%' then 3 " + "else 9 end " + - "FROM %s " + "WHERE %s_upper LIKE " + "'%%'||?||'%%' " + + "FROM %s " + "WHERE %s_upper LIKE '%%'||?||'%%' " + "ORDER BY 2, 1;", field, field, field, field, table, field), new String[]{str, str, str, str}); @@ -254,7 +253,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 ); @@ -263,6 +263,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); @@ -317,12 +318,17 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal } @Override - public void done() { + public + void done(String error) { progress.setVisibility(View.INVISIBLE); Log.d("visuals", "hiding progress"); - reset_form(); + if (error == null) reset_form(); + else Snackbar.make(findViewById(R.id.new_transaction_accounts_table), error, + BaseTransientBottomBar.LENGTH_LONG).show(); + toggle_all_editing(true); + check_transaction_submittable(); } private void reset_form() {