From c61143817228e5f524b703bd952d14d081fe7a88 Mon Sep 17 00:00:00 2001 From: 0xd9a <0xd9a@noreply.codeberg.org> Date: Tue, 13 May 2025 19:41:24 +0530 Subject: [PATCH] Update Peertube Instance Picker Drawer --- .../peertube/drawer/InstanceAdapter.java | 22 +-- .../layout/drawer_instance_peertube.xml | 145 ++++++++++-------- 2 files changed, 88 insertions(+), 79 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/peertube/drawer/InstanceAdapter.java b/app/src/main/java/app/fedilab/android/peertube/drawer/InstanceAdapter.java index 39aa0c98..2b5f8224 100644 --- a/app/src/main/java/app/fedilab/android/peertube/drawer/InstanceAdapter.java +++ b/app/src/main/java/app/fedilab/android/peertube/drawer/InstanceAdapter.java @@ -22,13 +22,12 @@ import android.content.Context; import android.os.Build; import android.text.Html; import android.text.SpannableString; -import android.text.SpannableStringBuilder; -import android.text.Spanned; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import com.google.android.material.chip.Chip; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; @@ -39,7 +38,6 @@ import java.util.List; import app.fedilab.android.R; import app.fedilab.android.databinding.DrawerInstancePeertubeBinding; import app.fedilab.android.peertube.client.data.InstanceData.Instance; -import app.fedilab.android.peertube.helper.RoundedBackgroundSpan; public class InstanceAdapter extends RecyclerView.Adapter { @@ -95,28 +93,22 @@ public class InstanceAdapter extends RecyclerView.Adapter info_cat = new LinkedHashMap<>(peertubeInformation.getCategories()); if (instance.getCategories() != null && instance.getCategories().size() > 0 && instance.getSpannableStringBuilder() == null) { for (int category : instance.getCategories()) { String cat = info_cat.get(category); - stringBuilder.append(between); if (cat != null && cat.trim().toLowerCase().compareTo("null") != 0) { - if (between.length() == 0) between = " "; - String tag = " " + cat + " "; - stringBuilder.append(tag); - stringBuilder.setSpan(new RoundedBackgroundSpan(context), stringBuilder.length() - tag.length(), stringBuilder.length() - tag.length() + tag.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + Chip chip = new Chip(context); + chip.setClickable(false); + chip.setEnsureMinTouchTargetSize(false); + chip.setText(cat); + holder.binding.chips.addView(chip); } } - instance.setSpannableStringBuilder(stringBuilder); } } - if (instance.getSpannableStringBuilder() != null) { - holder.binding.tags.setText(instance.getSpannableStringBuilder()); - } if (peertubeInformation != null && peertubeInformation.getLanguages() != null) { LinkedHashMap info_lang = new LinkedHashMap<>(peertubeInformation.getLanguages()); diff --git a/app/src/main/res/layouts/peertube/layout/drawer_instance_peertube.xml b/app/src/main/res/layouts/peertube/layout/drawer_instance_peertube.xml index f74c84e6..d1c2270b 100644 --- a/app/src/main/res/layouts/peertube/layout/drawer_instance_peertube.xml +++ b/app/src/main/res/layouts/peertube/layout/drawer_instance_peertube.xml @@ -14,91 +14,108 @@ You should have received a copy of the GNU General Public License along with Fedilab; if not, see . --> - + android:layout_marginVertical="6dp"> + android:layout_height="wrap_content" + android:layout_margin="12dp" + android:orientation="vertical"> - + app:layout_constraintTop_toTopOf="parent" + tools:text="@tools:sample/cities" /> - - - - - - - - - - - + app:layout_constraintTop_toBottomOf="@id/name" + tools:text="@tools:sample/cities" /> + app:layout_constraintTop_toTopOf="parent" /> + + + + + + + + + + + + + + + - \ No newline at end of file + \ No newline at end of file