summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2024-01-15 17:25:52 +0100
committerThomas <tschneider.ac@gmail.com>2024-01-15 17:26:29 +0100
commita9e17fb5d67ca6b39d46a50ea0a033b48097d48f (patch)
tree77fff4cd7229255964b6379f5eafd4fbb52818d1
parent892bb521e505e6d82c64853d98e3840a6944216d (diff)
Fix issue #1017 - Usage frequency of tags when composing
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ComposeAdapter.java7
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/TagsSearchAdapter.java21
-rw-r--r--app/src/main/res/layouts/mastodon/layout/drawer_tag_search.xml13
3 files changed, 40 insertions, 1 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ComposeAdapter.java b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ComposeAdapter.java
index 20e21b8b1..38fd8a43f 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ComposeAdapter.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ComposeAdapter.java
@@ -890,6 +890,13 @@ public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
Tag tag = new Tag();
tag.name = camelTag;
if (!results.hashtags.contains(tag)) {
+
+ for(Tag realTag: results.hashtags) {
+ if(realTag.name.equalsIgnoreCase(camelTag)) {
+ tag.history = realTag.history;
+ break;
+ }
+ }
results.hashtags.add(0, tag);
}
}
diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/TagsSearchAdapter.java b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/TagsSearchAdapter.java
index 1de85313a..829729018 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/TagsSearchAdapter.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/TagsSearchAdapter.java
@@ -11,10 +11,14 @@ import android.widget.Filterable;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.github.mikephil.charting.data.Entry;
+
import java.util.ArrayList;
import java.util.List;
+import app.fedilab.android.R;
import app.fedilab.android.databinding.DrawerTagSearchBinding;
+import app.fedilab.android.mastodon.client.entities.api.History;
import app.fedilab.android.mastodon.client.entities.api.Tag;
/* Copyright 2021 Thomas Schneider
@@ -37,6 +41,7 @@ public class TagsSearchAdapter extends ArrayAdapter<Tag> implements Filterable {
private final List<Tag> tags;
private final List<Tag> tempTags;
private final List<Tag> suggestions;
+ private final Context context;
private final Filter searchFilter = new Filter() {
@Override
@@ -75,6 +80,7 @@ public class TagsSearchAdapter extends ArrayAdapter<Tag> implements Filterable {
public TagsSearchAdapter(Context context, List<Tag> tags) {
super(context, android.R.layout.simple_list_item_1, tags);
+ this.context = context;
this.tags = tags;
this.tempTags = new ArrayList<>(tags);
this.suggestions = new ArrayList<>(tags);
@@ -110,6 +116,21 @@ public class TagsSearchAdapter extends ArrayAdapter<Tag> implements Filterable {
holder = (TagSearchViewHolder) convertView.getTag();
}
holder.binding.tagName.setText(String.format("#%s", tag.name));
+ List<History> historyList = tag.history;
+
+ int stat = 0;
+
+ if (historyList != null) {
+ for (History history : historyList) {
+ stat += Integer.parseInt(history.accounts);
+ }
+ }
+ if(stat > 0 ) {
+ holder.binding.tagCount.setText("(" + context.getString(R.string.talking_about, stat) + ")");
+ holder.binding.tagCount.setVisibility(View.VISIBLE);
+ } else {
+ holder.binding.tagCount.setVisibility(View.GONE);
+ }
return holder.view;
}
diff --git a/app/src/main/res/layouts/mastodon/layout/drawer_tag_search.xml b/app/src/main/res/layouts/mastodon/layout/drawer_tag_search.xml
index f7b4be74d..e5bd49efd 100644
--- a/app/src/main/res/layouts/mastodon/layout/drawer_tag_search.xml
+++ b/app/src/main/res/layouts/mastodon/layout/drawer_tag_search.xml
@@ -15,6 +15,7 @@
see <http://www.gnu.org/licenses>
-->
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tag_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -22,9 +23,19 @@
<TextView
android:id="@+id/tag_name"
- android:layout_width="match_parent"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
+ tools:text="@tools:sample/lorem"
+ android:padding="10dp" />
+
+ <TextView
+ android:id="@+id/tag_count"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:layout_margin="5dp"
+ android:layout_marginStart="20dp"
android:padding="10dp" />
</androidx.appcompat.widget.LinearLayoutCompat>