1
1
package org.jellyfin.androidtv.ui
2
2
3
3
import androidx.lifecycle.coroutineScope
4
+ import kotlinx.coroutines.Dispatchers
4
5
import kotlinx.coroutines.launch
6
+ import kotlinx.coroutines.withContext
5
7
import org.jellyfin.androidtv.data.repository.ItemMutationRepository
6
8
import org.jellyfin.androidtv.util.getActivity
7
9
import org.jellyfin.sdk.api.client.ApiClient
@@ -32,7 +34,9 @@ fun LiveProgramDetailPopup.cancelTimer(
32
34
33
35
lifecycle.coroutineScope.launch {
34
36
runCatching {
35
- api.liveTvApi.cancelTimer(timerId)
37
+ withContext(Dispatchers .IO ) {
38
+ api.liveTvApi.cancelTimer(timerId)
39
+ }
36
40
}.onSuccess {
37
41
callback()
38
42
}
@@ -47,7 +51,9 @@ fun LiveProgramDetailPopup.cancelSeriesTimer(
47
51
48
52
lifecycle.coroutineScope.launch {
49
53
runCatching {
50
- api.liveTvApi.cancelSeriesTimer(seriesTimerId)
54
+ withContext(Dispatchers .IO ) {
55
+ api.liveTvApi.cancelSeriesTimer(seriesTimerId)
56
+ }
51
57
}.onSuccess {
52
58
callback()
53
59
}
@@ -88,10 +94,12 @@ fun LiveProgramDetailPopup.recordProgram(
88
94
89
95
lifecycle.coroutineScope.launch {
90
96
runCatching {
91
- val seriesTimer by api.liveTvApi.getDefaultTimer(programId.toString())
92
- val timer = seriesTimer.asTimerInfoDto()
93
- api.liveTvApi.createTimer(timer)
94
- api.liveTvApi.getProgram(programId.toString()).content
97
+ withContext(Dispatchers .IO ) {
98
+ val seriesTimer by api.liveTvApi.getDefaultTimer(programId.toString())
99
+ val timer = seriesTimer.asTimerInfoDto()
100
+ api.liveTvApi.createTimer(timer)
101
+ api.liveTvApi.getProgram(programId.toString()).content
102
+ }
95
103
}.onSuccess { program ->
96
104
callback(program)
97
105
}
@@ -106,9 +114,11 @@ fun LiveProgramDetailPopup.recordSeries(
106
114
107
115
lifecycle.coroutineScope.launch {
108
116
runCatching {
109
- val timer by api.liveTvApi.getDefaultTimer(programId.toString())
110
- api.liveTvApi.createSeriesTimer(timer)
111
- api.liveTvApi.getProgram(programId.toString()).content
117
+ withContext(Dispatchers .IO ) {
118
+ val timer by api.liveTvApi.getDefaultTimer(programId.toString())
119
+ api.liveTvApi.createSeriesTimer(timer)
120
+ api.liveTvApi.getProgram(programId.toString()).content
121
+ }
112
122
}.onSuccess { program ->
113
123
callback(program)
114
124
}
@@ -123,7 +133,9 @@ fun LiveProgramDetailPopup.getSeriesTimer(
123
133
124
134
lifecycle.coroutineScope.launch {
125
135
runCatching {
126
- api.liveTvApi.getSeriesTimer(seriesTimerId).content
136
+ withContext(Dispatchers .IO ) {
137
+ api.liveTvApi.getSeriesTimer(seriesTimerId).content
138
+ }
127
139
}.onSuccess { seriesTimer ->
128
140
callback(seriesTimer)
129
141
}
0 commit comments