]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryAdapter.java
add FIXME about account list trailer divider
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / account_summary / AccountSummaryAdapter.java
index 2490ff3bb51d13236db65f38694c3f5b48006930..3384fe8184f9e5ad1bb180cbc36db7f4be1e7d79 100644 (file)
@@ -27,17 +27,17 @@ import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.recyclerview.widget.RecyclerView;
+
 import net.ktnx.mobileledger.R;
 import net.ktnx.mobileledger.model.Data;
 import net.ktnx.mobileledger.model.LedgerAccount;
 import net.ktnx.mobileledger.ui.activity.MainActivity;
 import net.ktnx.mobileledger.utils.LockHolder;
 
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AlertDialog;
-import androidx.constraintlayout.widget.ConstraintLayout;
-import androidx.recyclerview.widget.RecyclerView;
-
 public class AccountSummaryAdapter
         extends RecyclerView.Adapter<AccountSummaryAdapter.LedgerRowHolder> {
     public static final int AMOUNT_LIMIT = 3;
@@ -59,8 +59,8 @@ public class AccountSummaryAdapter
                         (ConstraintLayout.LayoutParams) holder.tvAccountName.getLayoutParams();
                 lp.setMarginStart(
                         acc.getLevel() * rm.getDimensionPixelSize(R.dimen.thumb_row_height) / 3);
-                holder.expanderContainer
-                        .setVisibility(acc.hasSubAccounts() ? View.VISIBLE : View.GONE);
+                holder.expanderContainer.setVisibility(
+                        acc.hasSubAccounts() ? View.VISIBLE : View.GONE);
                 holder.expanderContainer.setRotation(acc.isExpanded() ? 0 : 180);
                 int amounts = acc.getAmountCount();
                 if ((amounts > AMOUNT_LIMIT) && !acc.amountsExpanded()) {
@@ -84,6 +84,8 @@ public class AccountSummaryAdapter
                 holder.row.setTag(R.id.POS, position);
             }
             else {
+                // FIXME trailer's divider looks bad
+                // perhaps replace the trailer with bottom padding for the last item?
                 holder.vTrailer.setVisibility(View.VISIBLE);
                 holder.row.setVisibility(View.GONE);
             }
@@ -94,7 +96,7 @@ public class AccountSummaryAdapter
     @Override
     public LedgerRowHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
         View row = LayoutInflater.from(parent.getContext())
-                .inflate(R.layout.account_summary_row, parent, false);
+                                 .inflate(R.layout.account_summary_row, parent, false);
         return new LedgerRowHolder(row);
     }
 
@@ -103,29 +105,6 @@ public class AccountSummaryAdapter
         return Data.accounts.size() + (Data.profile.getValue()
                                                    .isPostingPermitted() ? 1 : 0);
     }
-    public void selectItem(int position) {
-        try (LockHolder lh = Data.accounts.lockForWriting()) {
-            LedgerAccount acc = Data.accounts.get(position);
-            acc.toggleHiddenToBe();
-            toggleChildrenOf(acc, acc.isHiddenByStarToBe(), position);
-            notifyItemChanged(position);
-        }
-    }
-    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++) {
-                LedgerAccount acc = Data.accounts.get(j);
-                if (acc.getName().startsWith(parent.getName() + ":")) {
-                    acc.setHiddenByStarToBe(hiddenToBe);
-                    notifyItemChanged(i);
-                    toggleChildrenOf(acc, hiddenToBe, i);
-                    i++;
-                }
-            }
-        }
-    }
-
     static class LedgerRowHolder extends RecyclerView.ViewHolder {
         TextView tvAccountName, tvAccountAmounts;
         ConstraintLayout row;
@@ -144,17 +123,6 @@ public class AccountSummaryAdapter
             this.accountExpanderContainer =
                     itemView.findViewById(R.id.account_row_amounts_expander_container);
 
-            expanderContainer.addOnLayoutChangeListener(
-                    (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
-                        int w = right - left;
-                        int h = bottom - top;
-                        if (h > w) {
-                            int p = (h - w) / 2;
-                            v.setPadding(0, p, 0, p);
-                        }
-                        else v.setPadding(0, 0, 0, 0);
-                    });
-
             itemView.setOnLongClickListener(this::onItemLongClick);
             tvAccountName.setOnLongClickListener(this::onItemLongClick);
             tvAccountAmounts.setOnLongClickListener(this::onItemLongClick);