diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-04-24 10:30:59 +0300 |
---|---|---|
committer | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2020-04-24 15:12:11 +0300 |
commit | 4a7f37694e49a0e5635e9695a6464b013c66f09a (patch) | |
tree | aa8069b6a29611767b0711309b7afcd0d28bdb8d /app/src/main/java/it/niedermann/nextcloud/deck/ui/filter | |
parent | 4c4e41ac299e753ace433cf0e603332b175ba2ca (diff) |
#396 Filter cards
Select labels
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/filter')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java | 1 | ||||
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java | 27 |
2 files changed, 18 insertions, 10 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java index d25f4d28f..b3b3eea47 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java @@ -128,6 +128,7 @@ public class FilterDialogFragment extends BrandedDialogFragment { .setNeutralButton(android.R.string.cancel, null) .setNegativeButton(R.string.simple_clear, (a, b) -> viewModel.postFilterInformation(null)) .setPositiveButton(R.string.simple_filter, (a, b) -> { + // Nach dieser Zeile ist labelAdapter.getSelected() leer filterInformation.clearLabelIds(); filterInformation.addAllLabelIds(labelAdapter.getSelected()); viewModel.postFilterInformation(filterInformation); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java index 1105de814..184603bb6 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java @@ -10,21 +10,27 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import java.util.ArrayList; import java.util.List; import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.model.Label; +import it.niedermann.nextcloud.deck.util.ViewUtil; +@SuppressWarnings("WeakerAccess") public class LabelFilterAdapter extends RecyclerView.Adapter<LabelFilterAdapter.LabelViewHolder> { - private Context context; - private List<Label> labels; - private List<Long> selectedLabelIds; + @NonNull + private final Context context; + @NonNull + private final List<Label> labels = new ArrayList<>(); + @NonNull + private final List<Long> selectedLabelIds = new ArrayList<>(); public LabelFilterAdapter(@NonNull Context context, @NonNull List<Label> labels, @NonNull List<Long> selectedLabelIds) { super(); this.context = context; - this.labels = labels; - this.selectedLabelIds = selectedLabelIds; + this.labels.addAll(labels); + this.selectedLabelIds.addAll(selectedLabelIds); setHasStableIds(true); notifyDataSetChanged(); } @@ -37,13 +43,13 @@ public class LabelFilterAdapter extends RecyclerView.Adapter<LabelFilterAdapter. @NonNull @Override public LabelViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - View view = LayoutInflater.from(context).inflate(R.layout.item_user, viewGroup, false); + View view = LayoutInflater.from(context).inflate(R.layout.item_label, viewGroup, false); return new LabelViewHolder(view); } @Override - public void onBindViewHolder(@NonNull LabelViewHolder multiViewHolder, int position) { - multiViewHolder.bind(labels.get(position)); + public void onBindViewHolder(@NonNull LabelViewHolder viewHolder, int position) { + viewHolder.bind(labels.get(position)); } @Override @@ -57,17 +63,18 @@ public class LabelFilterAdapter extends RecyclerView.Adapter<LabelFilterAdapter. class LabelViewHolder extends RecyclerView.ViewHolder { + // TODO Use ViewBinding private TextView textView; private ImageView imageView; LabelViewHolder(@NonNull View itemView) { super(itemView); textView = itemView.findViewById(R.id.displayname); - imageView = itemView.findViewById(R.id.avatar); + imageView = itemView.findViewById(R.id.label); } void bind(final Label label) { - imageView.setVisibility(selectedLabelIds.contains(label.getLocalId()) ? View.VISIBLE : View.GONE); + imageView.setImageDrawable(ViewUtil.getTintedImageView(imageView.getContext(), R.drawable.ic_label_grey600_24dp, "#" + label.getColor())); textView.setText(label.getTitle()); itemView.setOnClickListener(view -> { |