2020-09-12 05:12:13 +02:00
|
|
|
package exh.md
|
|
|
|
|
|
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
|
import android.view.View
|
|
|
|
|
import android.view.ViewGroup
|
|
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
2022-12-03 04:35:30 +01:00
|
|
|
import cafe.adriel.voyager.navigator.Navigator
|
2020-09-12 05:12:13 +02:00
|
|
|
import eu.kanade.tachiyomi.databinding.SourceFilterMangadexHeaderBinding
|
|
|
|
|
import eu.kanade.tachiyomi.source.CatalogueSource
|
|
|
|
|
import eu.kanade.tachiyomi.source.online.RandomMangaSource
|
2022-12-03 04:35:30 +01:00
|
|
|
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen
|
|
|
|
|
import exh.md.follows.MangaDexFollowsScreen
|
2023-01-28 04:31:12 +01:00
|
|
|
import tachiyomi.core.util.lang.launchUI
|
|
|
|
|
import tachiyomi.core.util.lang.withIOContext
|
2020-09-12 05:12:13 +02:00
|
|
|
|
2022-12-03 04:35:30 +01:00
|
|
|
class MangaDexFabHeaderAdapter(val navigator: Navigator, val source: CatalogueSource, val onClick: () -> Unit) :
|
2020-09-12 05:12:13 +02:00
|
|
|
RecyclerView.Adapter<MangaDexFabHeaderAdapter.SavedSearchesViewHolder>() {
|
|
|
|
|
|
|
|
|
|
private lateinit var binding: SourceFilterMangadexHeaderBinding
|
|
|
|
|
|
|
|
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SavedSearchesViewHolder {
|
|
|
|
|
binding = SourceFilterMangadexHeaderBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
|
|
|
|
return SavedSearchesViewHolder(binding.root)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun getItemCount(): Int = 1
|
|
|
|
|
|
|
|
|
|
override fun onBindViewHolder(holder: SavedSearchesViewHolder, position: Int) {
|
|
|
|
|
holder.bind()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inner class SavedSearchesViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|
|
|
|
fun bind() {
|
2021-01-08 05:12:13 +01:00
|
|
|
binding.mangadexFollows.setOnClickListener {
|
2022-12-03 04:35:30 +01:00
|
|
|
navigator.replace(MangaDexFollowsScreen(source.id))
|
2021-05-14 19:54:25 +02:00
|
|
|
onClick()
|
2021-01-08 05:12:13 +01:00
|
|
|
}
|
2022-11-29 04:16:18 +01:00
|
|
|
binding.mangadexRandom.setOnClickListener {
|
|
|
|
|
launchUI {
|
2021-01-16 04:29:57 +01:00
|
|
|
val randomMangaUrl = withIOContext {
|
|
|
|
|
(source as? RandomMangaSource)?.fetchRandomMangaUrl()
|
2020-09-12 05:12:13 +02:00
|
|
|
}
|
2022-12-03 04:35:30 +01:00
|
|
|
navigator.replace(
|
|
|
|
|
BrowseSourceScreen(
|
|
|
|
|
source.id,
|
2022-04-08 21:30:30 +02:00
|
|
|
"id:$randomMangaUrl",
|
2022-12-03 04:35:30 +01:00
|
|
|
),
|
2021-06-13 02:00:28 +02:00
|
|
|
)
|
2021-05-14 19:54:25 +02:00
|
|
|
onClick()
|
2022-11-29 04:16:18 +01:00
|
|
|
}
|
|
|
|
|
}
|
2020-09-12 05:12:13 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|