Tower Guidev2
01/13/2022, 1:30 PMprivate val mutableDisplayedPageNoState = MutableSharedFlow<Int>(replay = 0, extraBufferCapacity = 3, onBufferOverflow = BufferOverflow.DROP_OLDEST)
Tower Guidev2
01/13/2022, 1:32 PMprivate val displayedPageNoState: SharedFlow<Int> = mutableDisplayedPageNoState
private val displayedPageNoActor = lifecycleScope.actor<Int>(capacity = Channel.UNLIMITED) {
channel.consumeEach { displayedPageNo ->
val isSuccessfulTry = mutableDisplayedPageNoState.tryEmit(displayedPageNo)
if (!isSuccessfulTry) Timber.e("Failed to emit displayedPageNo = $displayedPageNo")
}
}
private fun sendPageNumber(pageNumber: Int) {
Timber.e("sendPageNumber() called with: pageNumber = $pageNumber")
val channelResult: ChannelResult<Unit> = displayedPageNoActor.trySend(pageNumber)
@Suppress("ControlFlowWithEmptyBody")
if (channelResult.isSuccess) {
} else {
if (BuildConfig.BUILD_TYPE == "debug") throw RuntimeException("unsuccessful $channelResult")
else Timber.e("unsuccessful $channelResult")
}
}
Tower Guidev2
01/13/2022, 1:34 PMTower Guidev2
01/13/2022, 1:43 PM