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:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java71
1 files changed, 71 insertions, 0 deletions
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
new file mode 100644
index 000000000..8fed859a5
--- /dev/null
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/LabelFilterAdapter.java
@@ -0,0 +1,71 @@
+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.ArrayAdapter;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.util.NoSuchElementException;
+
+import it.niedermann.nextcloud.deck.model.Label;
+
+public class LabelFilterAdapter extends ArrayAdapter<Label> {
+
+ @NonNull
+ private final LayoutInflater inflater;
+
+ @SuppressWarnings("WeakerAccess")
+ public LabelFilterAdapter(@NonNull Context context) {
+ super(context, android.R.layout.simple_list_item_multiple_choice, android.R.id.text1);
+ inflater = LayoutInflater.from(context);
+ }
+
+ @Override
+ public boolean hasStableIds() {
+ return true;
+ }
+
+ @Override
+ public long getItemId(int position) {
+ final Label label = getItem(position);
+ if (label == null) {
+ throw new NoSuchElementException();
+ }
+ return label.getLocalId();
+ }
+
+ @Override
+ public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+ return getView(position, convertView, parent);
+ }
+
+ @SuppressWarnings("WeakerAccess")
+ public int getPosition(long labelId) {
+ for (int i = 0; i < getCount(); i++) {
+ if (getItemId(i) == labelId) {
+ return i;
+ }
+ }
+ throw new NoSuchElementException();
+ }
+
+ @NotNull
+ @Override
+ public View getView(int position, View convertView, @NotNull ViewGroup parent) {
+ final View view;
+ if (convertView == null) {
+ view = inflater.inflate(android.R.layout.simple_list_item_multiple_choice, parent, false);
+ } else {
+ view = convertView;
+ }
+ ((TextView) view.findViewById(android.R.id.text1)).setText(getItem(position).getTitle());
+ return view;
+ }
+}