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=90ce60b174bc6c10a2cf70e8d9ca6178c9fa60df;hp=4e6ee19274a795d07100e6ead83c991579d87753;hb=3a371d308aa8e164622cd71ffb09f2222972e1f1;hpb=d4e592c5aed998f3b3e5afcf2150fb051aaf3e6f 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 4e6ee192..90ce60b1 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 @@ -27,7 +27,6 @@ import android.widget.ProgressBar; import androidx.annotation.NonNull; import androidx.appcompat.widget.Toolbar; -import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.LinearLayoutManager; @@ -78,9 +77,11 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas fab = findViewById(R.id.fab); fab.setOnClickListener(v -> saveTransaction()); - Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true); + Objects.requireNonNull(getSupportActionBar()) + .setDisplayHomeAsUpEnabled(true); list = findViewById(R.id.new_transaction_accounts); - viewModel = ViewModelProviders.of(this).get(NewTransactionModel.class); + viewModel = ViewModelProviders.of(this) + .get(NewTransactionModel.class); listAdapter = new NewTransactionItemsAdapter(viewModel, mProfile); list.setAdapter(listAdapter); list.setLayoutManager(new LinearLayoutManager(this)); @@ -111,7 +112,9 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) { if (viewModel.getAccountCount() == 2) Snackbar.make(list, R.string.msg_at_least_two_accounts_are_required, - Snackbar.LENGTH_LONG).setAction("Action", null).show(); + Snackbar.LENGTH_LONG) + .setAction("Action", null) + .show(); else { int pos = viewHolder.getAdapterPosition(); viewModel.removeItem(pos - 1); @@ -122,22 +125,20 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas } }).attachToRecyclerView(list); - viewModel.isSubmittable().observe(this, new Observer() { - @Override - public void onChanged(Boolean isSubmittable) { - if (isSubmittable) { - if (fab != null) { - fab.show(); - fab.setEnabled(true); - } - } - else { - if (fab != null) { - fab.hide(); - } - } - } - }); + viewModel.isSubmittable() + .observe(this, isSubmittable -> { + if (isSubmittable) { + if (fab != null) { + fab.show(); + fab.setEnabled(true); + } + } + else { + if (fab != null) { + fab.hide(); + } + } + }); viewModel.checkTransactionSubmittable(listAdapter); } @Override @@ -146,10 +147,12 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas if (profileUUID != null) { mProfile = Data.getProfile(profileUUID); - if (mProfile == null) finish(); + if (mProfile == null) + finish(); Data.setCurrentProfile(mProfile); } - else super.initProfile(); + else + super.initProfile(); } @Override public void finish() { @@ -171,7 +174,8 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas // FIXME if (tvDescription.getText().toString().isEmpty()) tvDescription.requestFocus(); } public void saveTransaction() { - if (fab != null) fab.setEnabled(false); + if (fab != null) + fab.setEnabled(false); listAdapter.toggleAllEditing(false); progress.setVisibility(View.VISIBLE); try { @@ -180,14 +184,16 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas Date date = viewModel.getDate(); LedgerTransaction tr = - new LedgerTransaction(null, date, viewModel.getDescription(), - mProfile); + new LedgerTransaction(null, date, viewModel.getDescription(), mProfile); LedgerTransactionAccount emptyAmountAccount = null; float emptyAmountAccountBalance = 0; for (int i = 0; i < viewModel.getAccountCount(); i++) { LedgerTransactionAccount acc = viewModel.getAccount(i); - if (acc.getAccountName().trim().isEmpty()) continue; + if (acc.getAccountName() + .trim() + .isEmpty()) + continue; if (acc.isAmountSet()) { emptyAmountAccountBalance += acc.getAmount(); @@ -208,7 +214,8 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas progress.setVisibility(View.GONE); listAdapter.toggleAllEditing(true); - if (fab != null) fab.setEnabled(true); + if (fab != null) + fab.setEnabled(true); } } public void simulateCrash(MenuItem item) { @@ -220,7 +227,8 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas getMenuInflater().inflate(R.menu.new_transaction, menu); if (BuildConfig.DEBUG) { - menu.findItem(R.id.action_simulate_crash).setVisible(true); + menu.findItem(R.id.action_simulate_crash) + .setVisible(true); } return true; @@ -232,23 +240,24 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas getResources().getDisplayMetrics())); } public void resetTransactionFromMenu(MenuItem item) { - resetForm(); + listAdapter.reset(); } @Override public void done(String error) { progress.setVisibility(View.INVISIBLE); debug("visuals", "hiding progress"); - if (error == null) resetForm(); - else Snackbar.make(list, error, BaseTransientBottomBar.LENGTH_LONG).show(); + if (error == null) + listAdapter.reset(); + else + Snackbar.make(list, error, BaseTransientBottomBar.LENGTH_LONG) + .show(); listAdapter.toggleAllEditing(true); + viewModel.checkTransactionSubmittable(listAdapter); } - private void resetForm() { - listAdapter.reset(); - } private class AsyncCrasher extends AsyncTask { @Override protected Void doInBackground(Void... voids) {