Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-04-24 12:30:25 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2020-04-24 15:12:11 +0300
commit996a9f4d3763e36a8debc394a1cb993f804b7d40 (patch)
tree30301def7addbc8d6645c715f1ada01a502e395d /app/src/main/java/it/niedermann/nextcloud/deck/ui/filter
parent9c719f71585c10f6d6e4cce207abe4ab8e587ad0 (diff)
#396 Filter cards
Use ViewBinding
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.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java32
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/UserFilterAdapter.java37
3 files changed, 27 insertions, 47 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 f5817c4ef..a6bdfdadb 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
@@ -24,6 +24,7 @@ import it.niedermann.nextcloud.deck.ui.branding.BrandedAlertDialogBuilder;
import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment;
import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
+import static it.niedermann.nextcloud.deck.util.DimensionUtil.dpToPx;
public class FilterDialogFragment extends BrandedDialogFragment {
@@ -99,13 +100,13 @@ public class FilterDialogFragment extends BrandedDialogFragment {
});
observeOnce(syncManager.findProposalsForLabelsToAssign(account.getId(), boardId), requireActivity(), (labels) -> {
- labelAdapter = new LabelFilterAdapter(requireContext(), labels, this.filterInformation.getLabels());
+ labelAdapter = new LabelFilterAdapter(labels, this.filterInformation.getLabels());
binding.labels.setNestedScrollingEnabled(false);
binding.labels.setAdapter(labelAdapter);
});
observeOnce(syncManager.findProposalsForUsersToAssign(account.getId(), boardId), requireActivity(), (users) -> {
- userAdapter = new UserFilterAdapter(requireContext(), account, users, this.filterInformation.getUsers());
+ userAdapter = new UserFilterAdapter(dpToPx(requireContext(), R.dimen.avatar_size), account, users, this.filterInformation.getUsers());
binding.users.setNestedScrollingEnabled(false);
binding.users.setAdapter(userAdapter);
});
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 82a75cec9..1eee5c8bb 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
@@ -1,36 +1,29 @@
package it.niedermann.nextcloud.deck.ui.filter;
-import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.view.LayoutInflater;
-import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
-import com.google.android.material.chip.Chip;
-
import java.util.ArrayList;
import java.util.List;
-import it.niedermann.nextcloud.deck.R;
+import it.niedermann.nextcloud.deck.databinding.ItemFilterLabelBinding;
import it.niedermann.nextcloud.deck.model.Label;
import it.niedermann.nextcloud.deck.util.ColorUtil;
@SuppressWarnings("WeakerAccess")
public class LabelFilterAdapter extends RecyclerView.Adapter<LabelFilterAdapter.LabelViewHolder> {
@NonNull
- private final Context context;
- @NonNull
private final List<Label> labels = new ArrayList<>();
@NonNull
private final List<Label> selectedLabels = new ArrayList<>();
- public LabelFilterAdapter(@NonNull Context context, @NonNull List<Label> labels, @NonNull List<Label> selectedLabels) {
+ public LabelFilterAdapter(@NonNull List<Label> labels, @NonNull List<Label> selectedLabels) {
super();
- this.context = context;
this.labels.addAll(labels);
this.selectedLabels.addAll(selectedLabels);
setHasStableIds(true);
@@ -44,9 +37,8 @@ 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_filter_label, viewGroup, false);
- return new LabelViewHolder(view);
+ public LabelViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new LabelViewHolder(ItemFilterLabelBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
}
@Override
@@ -64,21 +56,19 @@ public class LabelFilterAdapter extends RecyclerView.Adapter<LabelFilterAdapter.
}
class LabelViewHolder extends RecyclerView.ViewHolder {
+ private ItemFilterLabelBinding binding;
- // TODO Use ViewBinding
- private Chip chip;
-
- LabelViewHolder(@NonNull View itemView) {
- super(itemView);
- chip = itemView.findViewById(R.id.label);
+ LabelViewHolder(@NonNull ItemFilterLabelBinding binding) {
+ super(binding.getRoot());
+ this.binding = binding;
}
void bind(final Label label) {
- chip.setText(label.getTitle());
+ binding.label.setText(label.getTitle());
final int labelColor = Color.parseColor("#" + label.getColor());
- chip.setChipBackgroundColor(ColorStateList.valueOf(labelColor));
+ binding.label.setChipBackgroundColor(ColorStateList.valueOf(labelColor));
final int color = ColorUtil.getForegroundColorForBackgroundColor(labelColor);
- chip.setTextColor(color);
+ binding.label.setTextColor(color);
itemView.setSelected(selectedLabels.contains(label));
itemView.setOnClickListener(view -> {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/UserFilterAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/UserFilterAdapter.java
index 49cb5ae6a..89697e209 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/UserFilterAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/UserFilterAdapter.java
@@ -1,46 +1,40 @@
package it.niedermann.nextcloud.deck.ui.filter;
-import android.content.Context;
import android.view.LayoutInflater;
-import android.view.View;
import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
import androidx.annotation.NonNull;
+import androidx.annotation.Px;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
import it.niedermann.nextcloud.deck.R;
+import it.niedermann.nextcloud.deck.databinding.ItemFilterUserBinding;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.User;
import it.niedermann.nextcloud.deck.util.ViewUtil;
-import static it.niedermann.nextcloud.deck.util.DimensionUtil.dpToPx;
-
@SuppressWarnings("WeakerAccess")
public class UserFilterAdapter extends RecyclerView.Adapter<UserFilterAdapter.UserViewHolder> {
+ @Px
final int avatarSize;
@NonNull
- private final Context context;
- @NonNull
private final Account account;
@NonNull
private final List<User> users = new ArrayList<>();
@NonNull
private final List<User> selectedUsers = new ArrayList<>();
- public UserFilterAdapter(@NonNull Context context, @NonNull Account account, @NonNull List<User> users, @NonNull List<User> selectedUsers) {
+ public UserFilterAdapter(@Px int avatarSize, @NonNull Account account, @NonNull List<User> users, @NonNull List<User> selectedUsers) {
super();
+ this.avatarSize = avatarSize;
this.account = account;
- this.context = context;
this.users.addAll(users);
this.selectedUsers.addAll(selectedUsers);
setHasStableIds(true);
notifyDataSetChanged();
- avatarSize = dpToPx(context, R.dimen.avatar_size);
}
@Override
@@ -50,9 +44,8 @@ public class UserFilterAdapter extends RecyclerView.Adapter<UserFilterAdapter.Us
@NonNull
@Override
- public UserViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
- View view = LayoutInflater.from(context).inflate(R.layout.item_filter_user, viewGroup, false);
- return new UserViewHolder(view);
+ public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new UserViewHolder(ItemFilterUserBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
}
@Override
@@ -70,20 +63,16 @@ public class UserFilterAdapter extends RecyclerView.Adapter<UserFilterAdapter.Us
}
class UserViewHolder extends RecyclerView.ViewHolder {
+ private ItemFilterUserBinding binding;
- // TODO Use ViewBinding
- private TextView displayName;
- private ImageView avatar;
-
- UserViewHolder(@NonNull View itemView) {
- super(itemView);
- displayName = itemView.findViewById(R.id.displayName);
- avatar = itemView.findViewById(R.id.avatar);
+ UserViewHolder(@NonNull ItemFilterUserBinding binding) {
+ super(binding.getRoot());
+ this.binding = binding;
}
void bind(final User user) {
- displayName.setText(user.getDisplayname());
- ViewUtil.addAvatar(avatar, account.getUrl(), user.getUid(), avatarSize, R.drawable.ic_person_grey600_24dp);
+ binding.displayName.setText(user.getDisplayname());
+ ViewUtil.addAvatar(binding.avatar, account.getUrl(), user.getUid(), avatarSize, R.drawable.ic_person_grey600_24dp);
itemView.setSelected(selectedUsers.contains(user));
itemView.setOnClickListener(view -> {