package com.zy.demo import com.zy.demo.databinding.ActivityLottieExtBinding import com.zy.multistatepage.MultiStateContainer import com.zy.multistatepage.MultiStatePage import com.zy.demo.base.BaseActivity import com.zy.multistatepage.state.ErrorState import com.zy.demo.state.LottieWaitingState import com.zy.multistatepage.state.SuccessState import kotlinx.coroutines.MainScope import kotlinx.coroutines.delay import kotlinx.coroutines.launch class LottieExtActivity : BaseActivity() { override fun initPage() { MultiStatePage.bindMultiState(viewBinding.fl) val multiState = MultiStatePage.bindMultiState(viewBinding.fl) mockError(multiState) } private fun mockError(multiStateContainer: MultiStateContainer) { MainScope().launch { multiStateContainer.show() val delayTime = (10..30).random() * 100.toLong() delay(delayTime) multiStateContainer.show { it.retry { mockSuccess(multiStateContainer) } } } } private fun mockSuccess(multiStateContainer: MultiStateContainer) { MainScope().launch { multiStateContainer.show() val delayTime = (10..30).random() * 100.toLong() delay(delayTime) multiStateContainer.show() } } }