package com.vpn.fastestvpnservice.screensTV import android.widget.Toast import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.paint import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavHostController import com.vpn.fastestvpnservice.R import com.vpn.fastestvpnservice.beans.Server import com.vpn.fastestvpnservice.beans.ServerDataGlobal import com.vpn.fastestvpnservice.beans.isDarkTheme import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper import com.vpn.fastestvpnservice.screens.serverListViewModelSplash import com.vpn.fastestvpnservice.sealedClass.ScreenTV import com.vpn.fastestvpnservice.viewmodels.SearchListViewModel import com.vpn.fastestvpnservice.viewmodels.ServerListViewModel import com.vpn.fastestvpnservice.viewmodels.SplashViewModel import kotlinx.coroutines.delay var recommendedListGlobal: ArrayList = ArrayList() var recommendedListFinalGlobal: List = emptyList() val smartLocationListGlobal: ArrayList = ArrayList() var serversListAllGlobal: ArrayList = ArrayList() var serversGroupListGlobal: ArrayList = ArrayList() var serversListGlobal: ArrayList = ArrayList() var serversListFinalGlobal: List = ArrayList() lateinit var splashViewModelSplash: SplashViewModel //lateinit var serverListViewModelSplash: ServerListViewModel lateinit var searchListViewModelSplash: SearchListViewModel @Composable fun SplashTV(navHostController: NavHostController) { val context = LocalContext.current val basePreferenceHelper = BasePreferenceHelper(context) Box(modifier = Modifier .paint( painter = painterResource(id = if (isDarkTheme.value) R.drawable.bg_app_light else R.drawable.bg_app_light), contentScale = ContentScale.FillBounds ) .fillMaxSize(), // .windowInsetsPadding(WindowInsets.systemBars), ) { // val view = LocalView.current // val window = (view.context as Activity).window // window.statusBarColor = Color.Transparent.toArgb() // window.navigationBarColor = Color.Transparent.toArgb() Image( modifier = Modifier .width(146.dp) .height(199.dp) .align(Alignment.Center), painter = painterResource( id = R.drawable.fastestapp_logo3x), contentDescription = "FastestVPN", ) Image( modifier = Modifier .align(Alignment.BottomCenter) .padding(bottom = 50.dp) .width(202.dp) .height(28.dp), painter = painterResource( id = R.drawable.fastestvpn_name3), contentDescription = "FastestVPN Name", ) Row ( modifier = Modifier .align(Alignment.BottomCenter) .padding(50.dp), ){} val isLoggedIn = basePreferenceHelper.getLoggedInState() if (isLoggedIn) { splashViewModelSplash = viewModel { SplashViewModel(context) } serverListViewModelSplash = viewModel { ServerListViewModel(context = context) } searchListViewModelSplash = viewModel { SearchListViewModel(context, serverListViewModelSplash, splashViewModelSplash) } } val delay: Long = if (isLoggedIn) 1000 else 2000 LaunchedEffect(key1 = true) { delay(delay) if (isLoggedIn) { serverListViewModelSplash.setRecommendedSmartServers() serverListViewModelSplash.setCountryData() splashViewModelSplash.serverDataApi() navHostController.popBackStack() navHostController.navigate(ScreenTV.BottomBarTV.route) } else { navHostController.popBackStack() navHostController.navigate(ScreenTV.LoginTV.route) } } } }