Support for private tracking with AniList and Bangumi (#1736)
Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com> Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
This commit is contained in:
@@ -172,6 +172,7 @@ data class TrackInfoDialogHomeScreen(
|
||||
)
|
||||
},
|
||||
onCopyLink = { context.copyTrackerLink(it) },
|
||||
onTogglePrivate = screenModel::togglePrivate,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -247,6 +248,12 @@ data class TrackInfoDialogHomeScreen(
|
||||
}
|
||||
}
|
||||
|
||||
fun togglePrivate(item: TrackItem) {
|
||||
screenModelScope.launchNonCancellable {
|
||||
item.tracker.setRemotePrivate(item.track!!.toDbTrack(), !item.track.private)
|
||||
}
|
||||
}
|
||||
|
||||
private fun List<Track>.mapToTrackItem(): List<TrackItem> {
|
||||
val loggedInTrackers = Injekt.get<TrackerManager>().loggedInTrackers()
|
||||
val source = Injekt.get<SourceManager>().getOrStub(sourceId)
|
||||
@@ -673,11 +680,14 @@ data class TrackerSearchScreen(
|
||||
queryResult = state.queryResult,
|
||||
selected = state.selected,
|
||||
onSelectedChange = screenModel::updateSelection,
|
||||
onConfirmSelection = {
|
||||
screenModel.registerTracking(state.selected!!)
|
||||
onConfirmSelection = f@{ private: Boolean ->
|
||||
val selected = state.selected ?: return@f
|
||||
selected.private = private
|
||||
screenModel.registerTracking(selected)
|
||||
navigator.pop()
|
||||
},
|
||||
onDismissRequest = navigator::pop,
|
||||
supportsPrivateTracking = screenModel.supportsPrivateTracking,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -688,6 +698,8 @@ data class TrackerSearchScreen(
|
||||
private val tracker: Tracker,
|
||||
) : StateScreenModel<Model.State>(State()) {
|
||||
|
||||
val supportsPrivateTracking = tracker.supportsPrivateTracking
|
||||
|
||||
init {
|
||||
// Run search on first launch
|
||||
if (initialQuery.isNotBlank()) {
|
||||
|
||||
Reference in New Issue
Block a user