|
|
|
@ -104,6 +104,7 @@ import org.koitharu.kotatsu.list.ui.adapter.mangaGridItemAD
|
|
|
|
import org.koitharu.kotatsu.list.ui.model.ListModel
|
|
|
|
import org.koitharu.kotatsu.list.ui.model.ListModel
|
|
|
|
import org.koitharu.kotatsu.list.ui.model.MangaListModel
|
|
|
|
import org.koitharu.kotatsu.list.ui.model.MangaListModel
|
|
|
|
import org.koitharu.kotatsu.list.ui.size.StaticItemSizeResolver
|
|
|
|
import org.koitharu.kotatsu.list.ui.size.StaticItemSizeResolver
|
|
|
|
|
|
|
|
import org.koitharu.kotatsu.main.ui.owners.BottomSheetOwner
|
|
|
|
import org.koitharu.kotatsu.parsers.model.ContentRating
|
|
|
|
import org.koitharu.kotatsu.parsers.model.ContentRating
|
|
|
|
import org.koitharu.kotatsu.parsers.model.Manga
|
|
|
|
import org.koitharu.kotatsu.parsers.model.Manga
|
|
|
|
import org.koitharu.kotatsu.parsers.model.MangaTag
|
|
|
|
import org.koitharu.kotatsu.parsers.model.MangaTag
|
|
|
|
@ -119,9 +120,13 @@ import com.google.android.material.R as materialR
|
|
|
|
class DetailsActivity :
|
|
|
|
class DetailsActivity :
|
|
|
|
BaseActivity<ActivityDetailsBinding>(),
|
|
|
|
BaseActivity<ActivityDetailsBinding>(),
|
|
|
|
View.OnClickListener,
|
|
|
|
View.OnClickListener,
|
|
|
|
View.OnLayoutChangeListener, ViewTreeObserver.OnDrawListener,
|
|
|
|
View.OnLayoutChangeListener,
|
|
|
|
ChipsView.OnChipClickListener, OnListItemClickListener<Bookmark>,
|
|
|
|
ViewTreeObserver.OnDrawListener,
|
|
|
|
SwipeRefreshLayout.OnRefreshListener, AuthorSpan.OnAuthorClickListener {
|
|
|
|
ChipsView.OnChipClickListener,
|
|
|
|
|
|
|
|
OnListItemClickListener<Bookmark>,
|
|
|
|
|
|
|
|
SwipeRefreshLayout.OnRefreshListener,
|
|
|
|
|
|
|
|
AuthorSpan.OnAuthorClickListener,
|
|
|
|
|
|
|
|
BottomSheetOwner {
|
|
|
|
|
|
|
|
|
|
|
|
@Inject
|
|
|
|
@Inject
|
|
|
|
lateinit var shortcutManager: AppShortcutManager
|
|
|
|
lateinit var shortcutManager: AppShortcutManager
|
|
|
|
@ -133,6 +138,9 @@ class DetailsActivity :
|
|
|
|
private lateinit var menuProvider: DetailsMenuProvider
|
|
|
|
private lateinit var menuProvider: DetailsMenuProvider
|
|
|
|
private lateinit var infoBinding: LayoutDetailsTableBinding
|
|
|
|
private lateinit var infoBinding: LayoutDetailsTableBinding
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override val bottomSheet: View?
|
|
|
|
|
|
|
|
get() = viewBinding.containerBottomSheet
|
|
|
|
|
|
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
setContentView(ActivityDetailsBinding.inflate(layoutInflater))
|
|
|
|
setContentView(ActivityDetailsBinding.inflate(layoutInflater))
|
|
|
|
@ -172,7 +180,7 @@ class DetailsActivity :
|
|
|
|
.observeEvent(this, DetailsErrorObserver(this, viewModel, exceptionResolver))
|
|
|
|
.observeEvent(this, DetailsErrorObserver(this, viewModel, exceptionResolver))
|
|
|
|
viewModel.onActionDone
|
|
|
|
viewModel.onActionDone
|
|
|
|
.filterNot { appRouter.isChapterPagesSheetShown() }
|
|
|
|
.filterNot { appRouter.isChapterPagesSheetShown() }
|
|
|
|
.observeEvent(this, ReversibleActionObserver(viewBinding.scrollView, null))
|
|
|
|
.observeEvent(this, ReversibleActionObserver(viewBinding.scrollView))
|
|
|
|
combine(viewModel.historyInfo, viewModel.isLoading, ::Pair).observe(this) {
|
|
|
|
combine(viewModel.historyInfo, viewModel.isLoading, ::Pair).observe(this) {
|
|
|
|
onHistoryChanged(it.first, it.second)
|
|
|
|
onHistoryChanged(it.first, it.second)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|