X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionItemsAdapter.java;h=5f2f4c6c4fa653b0a610a0187535a269a8387da1;hb=040d5ba3aaa78a295a6c4a29500a234d3188ad6b;hp=4d18db6a05e2d82d10a4b59c405788b6ceed42f2;hpb=3cd9965f1b70b82564aeaf2beb6ce6be4c18ff50;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemsAdapter.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemsAdapter.java index 4d18db6a..5f2f4c6c 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemsAdapter.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemsAdapter.java @@ -26,8 +26,6 @@ import androidx.annotation.NonNull; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.RecyclerView; -import com.google.android.material.snackbar.Snackbar; - import net.ktnx.mobileledger.App; import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.async.DescriptionSelectedCallback; @@ -84,15 +82,13 @@ class NewTransactionItemsAdapter extends RecyclerView.Adapter 0) { + // the top (date and description) and the bottom (padding) items are always there + final int adapterPosition = viewHolder.getAdapterPosition(); + if ((adapterPosition > 0) && (adapterPosition < adapter.getItemCount() - 1)) { flags |= makeFlag(ItemTouchHelper.ACTION_STATE_DRAG, - ItemTouchHelper.UP | ItemTouchHelper.DOWN); - - if (viewModel.getAccountCount() > 2) { - flags |= makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE, - ItemTouchHelper.START | ItemTouchHelper.END); - } + ItemTouchHelper.UP | ItemTouchHelper.DOWN) | + makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE, + ItemTouchHelper.START | ItemTouchHelper.END); } return flags; @@ -108,18 +104,11 @@ class NewTransactionItemsAdapter extends RecyclerView.Adapter accounts = tr.getAccounts(); NewTransactionModel.Item firstNegative = null; NewTransactionModel.Item firstPositive = null; - boolean singleNegative = false; - boolean singlePositive = false; + int singleNegativeIndex = -1; + int singlePositiveIndex = -1; int negativeCount = 0; for (int i = 0; i < accounts.size(); i++) { LedgerTransactionAccount acc = accounts.get(i); @@ -248,18 +237,18 @@ class NewTransactionItemsAdapter extends RecyclerView.Adapter