diff --git a/app/src/main/java/ani/dantotsu/media/comments/CommentsFragment.kt b/app/src/main/java/ani/dantotsu/media/comments/CommentsFragment.kt
index fc21805e..fd8f68b6 100644
--- a/app/src/main/java/ani/dantotsu/media/comments/CommentsFragment.kt
+++ b/app/src/main/java/ani/dantotsu/media/comments/CommentsFragment.kt
@@ -13,6 +13,7 @@ import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
+import android.widget.TextView
import androidx.appcompat.widget.PopupMenu
import androidx.core.animation.doOnEnd
import androidx.core.content.res.ResourcesCompat
@@ -110,6 +111,10 @@ class CommentsFragment : Fragment() {
activity.binding.commentReplyToContainer.visibility = View.GONE
}
+ lifecycleScope.launch {
+ binding.commentCounter.text = commentCounter(mediaId)
+ }
+
binding.commentsList.adapter = adapter
binding.commentsList.layoutManager = LinearLayoutManager(activity)
@@ -588,6 +593,30 @@ class CommentsFragment : Fragment() {
}
}
+
+ private suspend fun commentCounter(mediaId: Int): String {
+ var totalComments = 0
+ var currentPage = 1
+
+ while (true) {
+ val response = CommentsAPI.getCommentsForId(mediaId, page = currentPage, tag = null, sort = null)
+ totalPages = response?.totalPages ?: 1
+ totalComments += response?.comments?.size ?: 0
+
+ if (currentPage >= totalPages) {
+ break
+ }
+ currentPage++
+ }
+
+ return if (totalComments > 0) {
+ resources.getString(R.string.comments_counter, totalComments.toString())
+ } else {
+ resources.getString(R.string.no_comments_found)
+ }
+ }
+
+
private fun processComment() {
val commentText = activity.binding.commentInput.text.toString()
if (commentText.isEmpty()) {
diff --git a/app/src/main/res/layout/fragment_comments.xml b/app/src/main/res/layout/fragment_comments.xml
index 49c60277..1ece8040 100644
--- a/app/src/main/res/layout/fragment_comments.xml
+++ b/app/src/main/res/layout/fragment_comments.xml
@@ -27,6 +27,20 @@
android:orientation="horizontal"
tools:ignore="UseCompoundDrawables">
+
+
+
+
Try Internal Cast (Experimental)
Comments
+ %1$s Comments
+ No Comments found
Newest
Oldest
Highest rated