Recommendations crash fix
This commit is contained in:
parent
2c49466a42
commit
46d9c024da
@ -149,7 +149,7 @@ open class BrowseSourceController(bundle: Bundle) :
|
|||||||
// SY -->
|
// SY -->
|
||||||
return when (mode) {
|
return when (mode) {
|
||||||
Mode.CATALOGUE -> presenter.source.name
|
Mode.CATALOGUE -> presenter.source.name
|
||||||
Mode.RECOMMENDS -> recommendsConfig!!.manga.originalTitle
|
Mode.RECOMMENDS -> recommendsConfig!!.title
|
||||||
}
|
}
|
||||||
// SY <--
|
// SY <--
|
||||||
}
|
}
|
||||||
@ -159,8 +159,7 @@ open class BrowseSourceController(bundle: Bundle) :
|
|||||||
return BrowseSourcePresenter(
|
return BrowseSourcePresenter(
|
||||||
args.getLong(SOURCE_ID_KEY),
|
args.getLong(SOURCE_ID_KEY),
|
||||||
args.getString(SEARCH_QUERY_KEY),
|
args.getString(SEARCH_QUERY_KEY),
|
||||||
searchManga = if (mode == Mode.RECOMMENDS) recommendsConfig?.manga else null,
|
recommendsMangaId = if (mode == Mode.RECOMMENDS) recommendsConfig?.mangaId else null
|
||||||
recommends = (mode == Mode.RECOMMENDS)
|
|
||||||
)
|
)
|
||||||
// SY <--
|
// SY <--
|
||||||
}
|
}
|
||||||
@ -402,12 +401,6 @@ open class BrowseSourceController(bundle: Bundle) :
|
|||||||
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
||||||
inflater.inflate(R.menu.source_browse, menu)
|
inflater.inflate(R.menu.source_browse, menu)
|
||||||
|
|
||||||
// SY -->
|
|
||||||
if (mode == Mode.RECOMMENDS) {
|
|
||||||
menu.findItem(R.id.action_search).isVisible = false
|
|
||||||
}
|
|
||||||
// SY <--
|
|
||||||
|
|
||||||
// Initialize search menu
|
// Initialize search menu
|
||||||
val searchItem = menu.findItem(R.id.action_search)
|
val searchItem = menu.findItem(R.id.action_search)
|
||||||
val searchView = searchItem.actionView as SearchView
|
val searchView = searchItem.actionView as SearchView
|
||||||
@ -441,6 +434,10 @@ open class BrowseSourceController(bundle: Bundle) :
|
|||||||
}
|
}
|
||||||
menu.findItem(displayItem).isChecked = true
|
menu.findItem(displayItem).isChecked = true
|
||||||
// SY -->
|
// SY -->
|
||||||
|
if (mode == Mode.RECOMMENDS) {
|
||||||
|
menu.findItem(R.id.action_search).isVisible = false
|
||||||
|
}
|
||||||
|
|
||||||
if (preferences.enhancedEHentaiView().get() && presenter.source.isEhBasedSource()) {
|
if (preferences.enhancedEHentaiView().get() && presenter.source.isEhBasedSource()) {
|
||||||
menu.findItem(R.id.action_display_mode).isVisible = false
|
menu.findItem(R.id.action_display_mode).isVisible = false
|
||||||
}
|
}
|
||||||
@ -833,7 +830,7 @@ open class BrowseSourceController(bundle: Bundle) :
|
|||||||
|
|
||||||
// SY -->
|
// SY -->
|
||||||
@Parcelize
|
@Parcelize
|
||||||
data class RecommendsConfig(val manga: Manga) : Parcelable
|
data class RecommendsConfig(val title: String, val mangaId: Long?) : Parcelable
|
||||||
|
|
||||||
enum class Mode {
|
enum class Mode {
|
||||||
CATALOGUE,
|
CATALOGUE,
|
||||||
|
@ -57,14 +57,13 @@ import xyz.nulldev.ts.api.http.serializer.FilterSerializer
|
|||||||
open class BrowseSourcePresenter(
|
open class BrowseSourcePresenter(
|
||||||
private val sourceId: Long,
|
private val sourceId: Long,
|
||||||
private val searchQuery: String? = null,
|
private val searchQuery: String? = null,
|
||||||
private val searchManga: Manga? = null,
|
// SY -->
|
||||||
|
private val recommendsMangaId: Long? = null,
|
||||||
|
// SY <--
|
||||||
private val sourceManager: SourceManager = Injekt.get(),
|
private val sourceManager: SourceManager = Injekt.get(),
|
||||||
private val db: DatabaseHelper = Injekt.get(),
|
private val db: DatabaseHelper = Injekt.get(),
|
||||||
private val prefs: PreferencesHelper = Injekt.get(),
|
private val prefs: PreferencesHelper = Injekt.get(),
|
||||||
private val coverCache: CoverCache = Injekt.get(),
|
private val coverCache: CoverCache = Injekt.get()
|
||||||
// SY -->
|
|
||||||
private val recommends: Boolean = false
|
|
||||||
// SY <--
|
|
||||||
) : BasePresenter<BrowseSourceController>() {
|
) : BasePresenter<BrowseSourceController>() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -75,7 +74,7 @@ open class BrowseSourcePresenter(
|
|||||||
/**
|
/**
|
||||||
* Query from the view.
|
* Query from the view.
|
||||||
*/
|
*/
|
||||||
var query = /* SY --> */ if (recommends) "" else /* SY <-- */ searchQuery ?: ""
|
var query = searchQuery ?: ""
|
||||||
private set
|
private set
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -114,6 +113,10 @@ open class BrowseSourcePresenter(
|
|||||||
*/
|
*/
|
||||||
private var pageSubscription: Subscription? = null
|
private var pageSubscription: Subscription? = null
|
||||||
|
|
||||||
|
// SY -->
|
||||||
|
private var manga: Manga? = null
|
||||||
|
// SY <--
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Subscription to initialize manga details.
|
* Subscription to initialize manga details.
|
||||||
*/
|
*/
|
||||||
@ -130,6 +133,10 @@ open class BrowseSourcePresenter(
|
|||||||
query = savedState.getString(::query.name, "")
|
query = savedState.getString(::query.name, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (recommendsMangaId != null) {
|
||||||
|
manga = db.getManga(recommendsMangaId).executeAsBlocking()
|
||||||
|
}
|
||||||
|
|
||||||
restartPager()
|
restartPager()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,8 +159,8 @@ open class BrowseSourcePresenter(
|
|||||||
|
|
||||||
// Create a new pager.
|
// Create a new pager.
|
||||||
// SY -->
|
// SY -->
|
||||||
pager = if (recommends && searchManga != null) RecommendsPager(
|
pager = if (recommendsMangaId != null && manga != null) RecommendsPager(
|
||||||
searchManga
|
manga ?: throw Exception("Could not get Manga")
|
||||||
) else createPager(query, filters)
|
) else createPager(query, filters)
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
|
@ -621,7 +621,7 @@ class MangaController :
|
|||||||
|
|
||||||
// AZ -->
|
// AZ -->
|
||||||
fun openRecommends() {
|
fun openRecommends() {
|
||||||
val recommendsConfig = BrowseSourceController.RecommendsConfig(presenter.manga)
|
val recommendsConfig = BrowseSourceController.RecommendsConfig(presenter.manga.originalTitle, presenter.manga.id)
|
||||||
|
|
||||||
router?.pushController(
|
router?.pushController(
|
||||||
BrowseSourceController(
|
BrowseSourceController(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user