123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- 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<Server> = ArrayList<Server>()
- //var recommendedListFinalGlobal: List<Server> = emptyList()
- //val smartLocationListGlobal: ArrayList<Server> = ArrayList<Server>()
- //var serversListAllGlobal: ArrayList<Server> = ArrayList<Server>()
- //var serversGroupListGlobal: ArrayList<ServerDataGlobal?> = ArrayList<ServerDataGlobal?>()
- //var serversListGlobal: ArrayList<ServerDataGlobal?> = ArrayList<ServerDataGlobal?>()
- //var serversListFinalGlobal: List<ServerDataGlobal?> = 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.setCountryDataTV()
- splashViewModelSplash.serverDataApi()
- navHostController.popBackStack()
- navHostController.navigate(ScreenTV.BottomBarTV.route)
- } else {
- navHostController.popBackStack()
- navHostController.navigate(ScreenTV.LoginTV.route)
- }
- }
- }
- }
|