aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/views
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/views')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt11
1 files changed, 8 insertions, 3 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt
index 72d8803c..575e5a4d 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/views/FrostContentView.kt
@@ -43,6 +43,7 @@ import com.pitchedapps.frost.utils.Prefs
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.BroadcastChannel
+import kotlinx.coroutines.channels.ConflatedBroadcastChannel
import kotlinx.coroutines.channels.ReceiveChannel
import kotlinx.coroutines.launch
@@ -82,9 +83,13 @@ abstract class FrostContentView<out T> @JvmOverloads constructor(
override val core: FrostContentCore
get() = coreView
- override val refreshChannel: BroadcastChannel<Boolean> = BroadcastChannel(100)
- override val progressChannel: BroadcastChannel<Int> = BroadcastChannel(100)
- override val titleChannel: BroadcastChannel<String> = BroadcastChannel(100)
+ /**
+ * While this can be conflated, there exist situations where we wish to watch refresh cycles.
+ * Here, we'd need to make sure we don't skip events
+ */
+ override val refreshChannel: BroadcastChannel<Boolean> = BroadcastChannel(10)
+ override val progressChannel: BroadcastChannel<Int> = ConflatedBroadcastChannel()
+ override val titleChannel: BroadcastChannel<String> = ConflatedBroadcastChannel()
override lateinit var scope: CoroutineScope