import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.CheckBox;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
public class AccountSummaryAdapter
extends RecyclerView.Adapter<AccountSummaryAdapter.LedgerRowHolder> {
public static final int AMOUNT_LIMIT = 3;
- private boolean selectionActive;
- AccountSummaryAdapter() {
- this.selectionActive = false;
- }
+ AccountSummaryAdapter() { }
public void onBindViewHolder(@NonNull LedgerRowHolder holder, int position) {
try (LockHolder lh = Data.accounts.lockForReading()) {
holder.tvAccountAmounts.setTypeface(null, Typeface.NORMAL);
}
- holder.selectionCb.setVisibility(selectionActive ? View.VISIBLE : View.GONE);
- holder.selectionCb.setChecked(!acc.isHiddenByStarToBe());
-
holder.row.setTag(R.id.POS, position);
}
else {
public int getItemCount() {
return Data.accounts.size();
}
- public void startSelection() {
- try (LockHolder lh = Data.accounts.lockForWriting()) {
- for (int i = 0; i < Data.accounts.size(); i++) {
- LedgerAccount acc = Data.accounts.get(i);
- acc.setHiddenByStarToBe(acc.isHiddenByStar());
- }
- this.selectionActive = true;
- lh.downgrade();
- notifyDataSetChanged();
- }
- }
-
- public void stopSelection() {
- this.selectionActive = false;
- notifyDataSetChanged();
- }
-
- public boolean isSelectionActive() {
- return selectionActive;
- }
-
public void selectItem(int position) {
try (LockHolder lh = Data.accounts.lockForWriting()) {
LedgerAccount acc = Data.accounts.get(position);
notifyItemChanged(position);
}
}
- void toggleChildrenOf(LedgerAccount parent, boolean hiddenToBe, int parentPosition) {
+ private void toggleChildrenOf(LedgerAccount parent, boolean hiddenToBe, int parentPosition) {
int i = parentPosition + 1;
try (LockHolder lh = Data.accounts.lockForWriting()) {
for (int j = 0; j < Data.accounts.size(); j++) {
}
}
- class LedgerRowHolder extends RecyclerView.ViewHolder {
- CheckBox selectionCb;
+ static class LedgerRowHolder extends RecyclerView.ViewHolder {
TextView tvAccountName, tvAccountAmounts;
ConstraintLayout row;
View vTrailer;
this.row = itemView.findViewById(R.id.account_summary_row);
this.tvAccountName = itemView.findViewById(R.id.account_row_acc_name);
this.tvAccountAmounts = itemView.findViewById(R.id.account_row_acc_amounts);
- this.selectionCb = itemView.findViewById(R.id.account_row_check);
this.vTrailer = itemView.findViewById(R.id.account_summary_trailer);
this.expanderContainer = itemView.findViewById(R.id.account_expander_container);
this.expander = itemView.findViewById(R.id.account_expander);
row = (View) v.getParent().getParent();
break;
default:
- Log.e("error", String.format("Don't know how to handle long click on id ", id));
+ Log.e("error", String.format("Don't know how to handle long click on id %d", id));
return false;
}
LedgerAccount acc = (LedgerAccount) row.findViewById(R.id.account_summary_row).getTag();