|
|
|
@ -1,13 +1,14 @@
|
|
|
|
|
package dev.lowrespalmtree.comet
|
|
|
|
|
|
|
|
|
|
import android.annotation.SuppressLint
|
|
|
|
|
import android.text.format.DateFormat
|
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
|
import android.view.View
|
|
|
|
|
import android.view.ViewGroup
|
|
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
|
|
import dev.lowrespalmtree.comet.History.HistoryEntry
|
|
|
|
|
import dev.lowrespalmtree.comet.databinding.FragmentHistoryItemBinding
|
|
|
|
|
import dev.lowrespalmtree.comet.utils.getFancySelectBgRes
|
|
|
|
|
import java.util.*
|
|
|
|
|
|
|
|
|
|
class HistoryAdapter(private val listener: Listener) :
|
|
|
|
|
RecyclerView.Adapter<HistoryAdapter.ViewHolder>() {
|
|
|
|
@ -27,12 +28,17 @@ class HistoryAdapter(private val listener: Listener) :
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
|
|
|
|
val item = items[position]
|
|
|
|
|
holder.binding.uriText.text = item.uri
|
|
|
|
|
holder.binding.titleText.visibility =
|
|
|
|
|
if (item.title.isNullOrBlank()) View.GONE else View.VISIBLE
|
|
|
|
|
holder.binding.titleText.text = item.title ?: ""
|
|
|
|
|
holder.binding.container.setOnClickListener { listener.onItemClick(item.uri) }
|
|
|
|
|
val entry = items[position]
|
|
|
|
|
// URI is always show.
|
|
|
|
|
holder.binding.uriText.text = entry.uri
|
|
|
|
|
// Main title is shown if one was found when record the entry.
|
|
|
|
|
holder.binding.titleText.text = entry.title ?: ""
|
|
|
|
|
// Last visited date is properly formatted.
|
|
|
|
|
val lastVisit = Date(entry.lastVisit)
|
|
|
|
|
val dateFormatter = DateFormat.getMediumDateFormat(holder.binding.root.context)
|
|
|
|
|
holder.binding.lastVisitText.text = dateFormatter.format(lastVisit)
|
|
|
|
|
// Bind the click action.
|
|
|
|
|
holder.binding.container.setOnClickListener { listener.onItemClick(entry.uri) }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun getItemCount(): Int = items.size
|
|
|
|
|