Tracking icon now sets after adding a manga to tracking
This commit is contained in:
parent
d39bbccb5a
commit
33c81313d5
@ -533,6 +533,10 @@ class MangaAllInOneController :
|
||||
getHeader()?.setFavoriteButtonState(isFavorite)
|
||||
}
|
||||
|
||||
fun setTrackingIcon(tracked: Boolean) {
|
||||
getHeader()?.setTrackingIcon(tracked)
|
||||
}
|
||||
|
||||
override fun isInitialLoadAndFromSource() = fromSource && initialLoad
|
||||
|
||||
override fun removeInitialLoad() {
|
||||
|
@ -59,7 +59,6 @@ import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import reactivecircus.flowbinding.android.view.clicks
|
||||
import reactivecircus.flowbinding.android.view.longClicks
|
||||
import uy.kohesive.injekt.Injekt
|
||||
@ -97,7 +96,12 @@ class MangaAllInOneHolder(
|
||||
}
|
||||
|
||||
adapter.delegate.controllerScope.launch(Dispatchers.IO) {
|
||||
setTrackingIcon()
|
||||
setTrackingIcon(
|
||||
Injekt.get<DatabaseHelper>().getTracks(presenter.manga).executeAsBlocking().any {
|
||||
val status = Injekt.get<TrackManager>().getService(it.sync_id)?.getStatus(it.status)
|
||||
status != null
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
btn_tracking.clicks()
|
||||
@ -440,17 +444,9 @@ class MangaAllInOneHolder(
|
||||
adapter.delegate.performGlobalSearch(query)
|
||||
}
|
||||
|
||||
private suspend fun setTrackingIcon() {
|
||||
val presenter = adapter.delegate.mangaPresenter()
|
||||
|
||||
if (Injekt.get<DatabaseHelper>().getTracks(presenter.manga).executeAsBlocking().any {
|
||||
val status = Injekt.get<TrackManager>().getService(it.sync_id)?.getStatus(it.status)
|
||||
status != null
|
||||
}
|
||||
) {
|
||||
withContext(Dispatchers.Main) {
|
||||
btn_tracking.setIconResource(R.drawable.ic_cloud_white_24dp)
|
||||
}
|
||||
fun setTrackingIcon(tracked: Boolean) {
|
||||
if (tracked) {
|
||||
btn_tracking.setIconResource(R.drawable.ic_cloud_white_24dp)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
import eu.kanade.tachiyomi.data.track.model.TrackSearch
|
||||
import eu.kanade.tachiyomi.databinding.TrackControllerBinding
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaAllInOneController
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
@ -73,6 +74,8 @@ class TrackController(val fromAllInOne: Boolean = false, val manga: Manga? = nul
|
||||
binding.swipeRefresh.isEnabled = atLeastOneLink
|
||||
if (!fromAllInOne) {
|
||||
(parentController as? MangaController)?.setTrackingIcon(atLeastOneLink)
|
||||
} else {
|
||||
(parentController as? MangaAllInOneController)?.setTrackingIcon(atLeastOneLink)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user