|
@@ -1,27 +1,15 @@
|
|
|
package eu.kanade.tachiyomi.ui.manga.track
|
|
|
|
|
|
import android.annotation.SuppressLint
|
|
|
-import android.view.View
|
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
|
+import eu.kanade.tachiyomi.databinding.TrackItemBinding
|
|
|
import eu.kanade.tachiyomi.ui.base.holder.BaseViewHolder
|
|
|
import eu.kanade.tachiyomi.util.view.gone
|
|
|
import eu.kanade.tachiyomi.util.view.visibleIf
|
|
|
import java.text.DateFormat
|
|
|
-import kotlinx.android.synthetic.main.track_item.bottom_divider
|
|
|
-import kotlinx.android.synthetic.main.track_item.logo_container
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_chapters
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_details
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_finish_date
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_logo
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_score
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_set
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_start_date
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_status
|
|
|
-import kotlinx.android.synthetic.main.track_item.track_title
|
|
|
-import kotlinx.android.synthetic.main.track_item.vert_divider_3
|
|
|
import uy.kohesive.injekt.injectLazy
|
|
|
|
|
|
-class TrackHolder(view: View, adapter: TrackAdapter) : BaseViewHolder(view) {
|
|
|
+class TrackHolder(private val binding: TrackItemBinding, adapter: TrackAdapter) : BaseViewHolder(binding.root) {
|
|
|
|
|
|
private val preferences: PreferencesHelper by injectLazy()
|
|
|
|
|
@@ -32,47 +20,47 @@ class TrackHolder(view: View, adapter: TrackAdapter) : BaseViewHolder(view) {
|
|
|
init {
|
|
|
val listener = adapter.rowClickListener
|
|
|
|
|
|
- logo_container.setOnClickListener { listener.onLogoClick(bindingAdapterPosition) }
|
|
|
- track_set.setOnClickListener { listener.onSetClick(bindingAdapterPosition) }
|
|
|
- track_title.setOnClickListener { listener.onSetClick(bindingAdapterPosition) }
|
|
|
- track_title.setOnLongClickListener {
|
|
|
+ binding.logoContainer.setOnClickListener { listener.onLogoClick(bindingAdapterPosition) }
|
|
|
+ binding.trackSet.setOnClickListener { listener.onSetClick(bindingAdapterPosition) }
|
|
|
+ binding.trackTitle.setOnClickListener { listener.onSetClick(bindingAdapterPosition) }
|
|
|
+ binding.trackTitle.setOnLongClickListener {
|
|
|
listener.onTitleLongClick(bindingAdapterPosition)
|
|
|
true
|
|
|
}
|
|
|
- track_status.setOnClickListener { listener.onStatusClick(bindingAdapterPosition) }
|
|
|
- track_chapters.setOnClickListener { listener.onChaptersClick(bindingAdapterPosition) }
|
|
|
- track_score.setOnClickListener { listener.onScoreClick(bindingAdapterPosition) }
|
|
|
- track_start_date.setOnClickListener { listener.onStartDateClick(bindingAdapterPosition) }
|
|
|
- track_finish_date.setOnClickListener { listener.onFinishDateClick(bindingAdapterPosition) }
|
|
|
+ binding.trackStatus.setOnClickListener { listener.onStatusClick(bindingAdapterPosition) }
|
|
|
+ binding.trackChapters.setOnClickListener { listener.onChaptersClick(bindingAdapterPosition) }
|
|
|
+ binding.trackScore.setOnClickListener { listener.onScoreClick(bindingAdapterPosition) }
|
|
|
+ binding.trackStartDate.setOnClickListener { listener.onStartDateClick(bindingAdapterPosition) }
|
|
|
+ binding.trackFinishDate.setOnClickListener { listener.onFinishDateClick(bindingAdapterPosition) }
|
|
|
}
|
|
|
|
|
|
@SuppressLint("SetTextI18n")
|
|
|
fun bind(item: TrackItem) {
|
|
|
val track = item.track
|
|
|
- track_logo.setImageResource(item.service.getLogo())
|
|
|
- logo_container.setBackgroundColor(item.service.getLogoColor())
|
|
|
+ binding.trackLogo.setImageResource(item.service.getLogo())
|
|
|
+ binding.logoContainer.setBackgroundColor(item.service.getLogoColor())
|
|
|
|
|
|
- track_set.visibleIf { track == null }
|
|
|
- track_title.visibleIf { track != null }
|
|
|
+ binding.trackSet.visibleIf { track == null }
|
|
|
+ binding.trackTitle.visibleIf { track != null }
|
|
|
|
|
|
- track_details.visibleIf { track != null }
|
|
|
+ binding.trackDetails.visibleIf { track != null }
|
|
|
if (track != null) {
|
|
|
- track_title.text = track.title
|
|
|
- track_chapters.text = "${track.last_chapter_read}/" +
|
|
|
+ binding.trackTitle.text = track.title
|
|
|
+ binding.trackChapters.text = "${track.last_chapter_read}/" +
|
|
|
if (track.total_chapters > 0) track.total_chapters else "-"
|
|
|
- track_status.text = item.service.getStatus(track.status)
|
|
|
- track_score.text = if (track.score == 0f) "-" else item.service.displayScore(track)
|
|
|
+ binding.trackStatus.text = item.service.getStatus(track.status)
|
|
|
+ binding.trackScore.text = if (track.score == 0f) "-" else item.service.displayScore(track)
|
|
|
|
|
|
if (item.service.supportsReadingDates) {
|
|
|
- track_start_date.text =
|
|
|
+ binding.trackStartDate.text =
|
|
|
if (track.started_reading_date != 0L) dateFormat.format(track.started_reading_date) else "-"
|
|
|
- track_finish_date.text =
|
|
|
+ binding.trackFinishDate.text =
|
|
|
if (track.finished_reading_date != 0L) dateFormat.format(track.finished_reading_date) else "-"
|
|
|
} else {
|
|
|
- bottom_divider.gone()
|
|
|
- vert_divider_3.gone()
|
|
|
- track_start_date.gone()
|
|
|
- track_finish_date.gone()
|
|
|
+ binding.bottomDivider.gone()
|
|
|
+ binding.vertDivider3.gone()
|
|
|
+ binding.trackStartDate.gone()
|
|
|
+ binding.trackFinishDate.gone()
|
|
|
}
|
|
|
}
|
|
|
}
|