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);
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);
android:longClickable="true"
android:layout_height="wrap_content">
- <CheckBox
- android:id="@+id/account_row_check"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:button="@drawable/checkbox_star_black"
- android:onClick="onAccountSummaryRowViewClicked"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
<TextView
android:id="@+id/account_row_acc_name"
style="@style/account_summary_account_name"
android:text="Account name, a really long one. A very very very long one. It may even spawn on more than two lines -- three, four or more."
android:textAppearance="@android:style/TextAppearance.Material.Medium"
app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toEndOf="@id/account_row_check"
+ app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
app:layout_constraintBottom_toBottomOf="@id/account_row_acc_amounts"
android:background="@drawable/fade_down_white">
- <!--<ImageView-->
- <!--android:layout_gravity="center_vertical|end"-->
- <!--android:id="@+id/account_row_amounts_expander"-->
- <!--android:layout_width="20dp"-->
- <!--android:layout_height="20dp"-->
- <!--android:background="@drawable/ic_expand_more_black_24dp" />-->
-
</FrameLayout>
<View