package com.casic.smarttube.view import android.annotation.SuppressLint import android.os.Bundle import android.os.CountDownTimer import androidx.lifecycle.ViewModelProvider import com.casic.smarttube.databinding.ActivitySplashBinding import com.casic.smarttube.vm.UserViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo @SuppressLint("CustomSplashScreen") class SplashScreenActivity : KotlinBaseActivity<ActivitySplashBinding>() { private lateinit var userDetailViewModel: UserViewModel override fun initViewBinding(): ActivitySplashBinding { return ActivitySplashBinding.inflate(layoutInflater) } override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(false).init() } override fun initOnCreate(savedInstanceState: Bundle?) { userDetailViewModel = ViewModelProvider(this)[UserViewModel::class.java] userDetailViewModel.userDetailModel.observe(this) { if (it.code == 200) { navigatePageTo<MainActivity>() } else { navigatePageTo<LoginActivity>() } finish() } } override fun observeRequestState() { } override fun initEvent() { countDownTimer.start() } private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { userDetailViewModel.obtainUserDetail() } override fun onTick(millisUntilFinished: Long) { } } }