| 
					
				 | 
			
			
				@@ -1,13 +1,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.vpn.fastestvpnservice.customItems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import android.os.Looper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.util.Log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import android.widget.Toast 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.foundation.Image 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.background 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.border 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.clickable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.foundation.gestures.detectTapGestures 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.interaction.MutableInteractionSource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.Arrangement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.Box 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,13 +11,10 @@ import androidx.compose.foundation.layout.Column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.ColumnScope 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.Row 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.Spacer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.foundation.layout.fillMaxSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.fillMaxWidth 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.height 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.padding 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.layout.size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.foundation.lazy.LazyColumn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.foundation.lazy.items 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.foundation.shape.CircleShape 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.material3.Icon 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.material3.IconButton 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -45,41 +38,31 @@ import androidx.compose.ui.draw.alpha 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.draw.clip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.draw.paint 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.graphics.Color 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.ui.input.pointer.pointerInput 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.layout.ContentScale 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.platform.LocalContext 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.res.colorResource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.res.painterResource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.ui.text.TextStyle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.ui.text.style.TextAlign 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.tooling.preview.Preview 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.compose.ui.unit.dp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import androidx.compose.ui.unit.sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.lifecycle.viewmodel.compose.viewModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.navigation.NavHostController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.navigation.compose.rememberNavController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.R 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.beans.CountryServerList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.beans.Server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.beans.allLocationsList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.beans.favList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.beans.favListServer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.utils.Utils 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.stealthcopter.networktools.Ping 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.stealthcopter.networktools.ping.PingResult 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.stealthcopter.networktools.ping.PingStats 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.beans.smartList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.vpn.fastestvpnservice.R 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.vpn.fastestvpnservice.beans.Server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.vpn.fastestvpnservice.beans.favListServer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.vpn.fastestvpnservice.beans.toChangeServer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.vpn.fastestvpnservice.constants.smartConnect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.onServer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.vpn.fastestvpnservice.screens.serverListViewModelSplash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.vpn.fastestvpnservice.sealedClass.Screen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.vpn.fastestvpnservice.utils.Utils 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.vpn.fastestvpnservice.viewmodels.HomeViewModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.vpn.fastestvpnservice.viewmodels.ServerListViewModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.vpn.fastestvpnservice.viewmodels.SplashViewModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.lang.Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.logging.Handler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var serverInfoObj: MutableState<Server> = mutableStateOf(Server()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -90,7 +73,6 @@ fun CountryItem( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     countryTotalServers: Int, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     navHostController: NavHostController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Log.d("test_countrySize", "CountryItem Called ${server.server_name} ${server.totalServers}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Box( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .fillMaxWidth() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -103,12 +85,12 @@ fun CountryItem( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         val basePreferenceHelper = BasePreferenceHelper(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         val countrySize by rememberSaveable { mutableStateOf(server.totalServers) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var isServerExpanded by rememberSaveable { mutableStateOf(false) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        val serverListViewModel: ServerListViewModel = viewModel{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ServerListViewModel(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        val splashViewModel: SplashViewModel = viewModel{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SplashViewModel(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        val serverListViewModel: ServerListViewModel = viewModel{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            ServerListViewModel(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        val splashViewModel: SplashViewModel = viewModel{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            SplashViewModel(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         val scope = rememberCoroutineScope() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         val homeViewModel: HomeViewModel = viewModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             HomeViewModel(context, scope) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -136,25 +118,25 @@ fun CountryItem( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             navHostController.popBackStack() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        countrySize.let { size -> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        countrySize.let { size -> } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Column { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                /* Country Location's Row */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Row( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    verticalAlignment = Alignment.Top, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    horizontalArrangement = Arrangement.Start, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .fillMaxWidth() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .padding( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            start = 16.dp, end = 12.dp, top = 12.dp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .clickable( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            indication = null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            interactionSource = remember { MutableInteractionSource() } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            isServerExpanded = !isServerExpanded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Column { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /* Country Location's Row */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Row( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                verticalAlignment = Alignment.Top, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                horizontalArrangement = Arrangement.Start, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .fillMaxWidth() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .padding( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        start = 16.dp, end = 12.dp, top = 12.dp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .clickable( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        indication = null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        interactionSource = remember { MutableInteractionSource() } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        isServerExpanded = !isServerExpanded 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            // commenting, open server list, not connecting by tap on tab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // commenting, open server list, not connecting by tap on tab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                            if (server.enable == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ////                                basePreferenceHelper.setServerObject(server) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                                isCountryServerClicked = true 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -166,82 +148,81 @@ fun CountryItem( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    val icon = if (server.enable == 1) Utils.getDrawable(context, server.iso) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    else Utils.getDrawableGray(context, server.iso) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                val icon = if (server.enable == 1) Utils.getDrawable(context, server.iso) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else Utils.getDrawableGray(context, server.iso) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Icon( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        painter = painterResource(id = icon), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        contentDescription = "Server Logo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        tint = Color.Unspecified, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .padding(bottom = 16.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .size(24.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .clip(CircleShape) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .border(1.dp, colorResource(id = R.color.gray_opac_04), CircleShape) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .paint( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                painter = painterResource(id = icon), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                contentScale = ContentScale.FillBounds 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Text(text = server.country!!, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        style = MaterialTheme.typography.labelMedium, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        color = MaterialTheme.colorScheme.primary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .padding(start = 16.dp, bottom = 18.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Spacer(modifier = Modifier.weight(1F)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Text(text = "$countryTotalServers locations", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        style = MaterialTheme.typography.bodySmall, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        color = colorResource(id = R.color.dark_blue_gray_text), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .padding(end = 30.dp, bottom = 18.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .alpha(0.4F) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Icon( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    painter = painterResource(id = icon), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    contentDescription = "Server Logo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tint = Color.Unspecified, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .padding(bottom = 16.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .size(24.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .clip(CircleShape) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .border(1.dp, colorResource(id = R.color.gray_opac_04), CircleShape) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .paint( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            painter = painterResource(id = icon), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            contentScale = ContentScale.FillBounds 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Text(text = server.country!!, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    style = MaterialTheme.typography.labelMedium, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color = MaterialTheme.colorScheme.primary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .padding(start = 16.dp, bottom = 18.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Spacer(modifier = Modifier.weight(1F)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Text(text = "$countryTotalServers locations", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    style = MaterialTheme.typography.bodySmall, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color = colorResource(id = R.color.dark_blue_gray_text), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .padding(end = 30.dp, bottom = 18.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .alpha(0.4F) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            Spacer(modifier = Modifier.weight(1F)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Icon( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .padding(bottom = 18.dp, end = 0.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .size(12.dp, 7.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .clickable( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                indication = null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                interactionSource = remember { MutableInteractionSource() } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ) { isServerExpanded = !isServerExpanded }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Icon( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .padding(bottom = 18.dp, end = 0.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .size(12.dp, 7.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .clickable( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            indication = null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            interactionSource = remember { MutableInteractionSource() } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ) { isServerExpanded = !isServerExpanded }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        painter = if (isServerExpanded) painterResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            id = R.drawable.dragarrow3x) else painterResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            id = R.drawable.downarrow3x), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    painter = if (isServerExpanded) painterResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        id = R.drawable.dragarrow3x) else painterResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        id = R.drawable.downarrow3x), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        contentDescription = "Server Logo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        tint = MaterialTheme.colorScheme.primary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    contentDescription = "Server Logo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tint = MaterialTheme.colorScheme.primary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                /* Country Expandable's Row */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /* Country Expandable's Row */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (isServerExpanded) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     val countriesServersData1 = basePreferenceHelper.getServerData().get(0).servers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     countriesServersData1?.let { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        val serversGroup = serverListViewModel.getServerGroupList(server, it) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        val serversGroup = serverListViewModelSplash.getServerGroupList(server, it) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         ExpandableRow(server = serversGroup, navHostController) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Surface( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .padding(start = 0.dp, end = 0.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .height(1.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .fillMaxWidth() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .alpha(0.6F) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .align(Alignment.BottomCenter), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                color = colorResource(id = R.color.gray_icon) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Surface( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .padding(start = 0.dp, end = 0.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .height(1.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .fillMaxWidth() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .alpha(0.6F) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .align(Alignment.BottomCenter), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            color = colorResource(id = R.color.gray_icon) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -252,10 +233,10 @@ fun ColumnScope.ExpandableRow( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val context = LocalContext.current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val basePreferenceHelper = BasePreferenceHelper(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    val serverListViewModel: ServerListViewModel = viewModel{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ServerListViewModel(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    val splashViewModel: SplashViewModel = viewModel{ SplashViewModel(context) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//    val serverListViewModel: ServerListViewModel = viewModel{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        ServerListViewModel(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//    val splashViewModel: SplashViewModel = viewModel{ SplashViewModel(context) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val scope = rememberCoroutineScope() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     val homeViewModel: HomeViewModel = viewModel { HomeViewModel(context, scope) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var isExpServerClicked by remember { mutableStateOf(false) } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -268,134 +249,133 @@ fun ColumnScope.ExpandableRow( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             .background(Color.Transparent) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Expandable Row 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         server.let { serverData -> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                serverData.forEachIndexed { index, serverInfo -> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Log.d("serverInfo_ping", "serverInfo ${serverInfo.server_name} :: ${serverInfo.ping}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            serverData.forEachIndexed { index, serverInfo -> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                Log.d("serverInfo_ping", "serverInfo ${serverInfo.server_name} :: ${serverInfo.ping}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var isFavorite by rememberSaveable { mutableStateOf(serverInfo.isFavourited) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    val isServerFavourited: Boolean = serverInfo.isFavourited == true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Log.d("test-server_fav_d", "$isFavorite") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var isFavorite by rememberSaveable { mutableStateOf(serverInfo.isFavourited) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                val isServerFavourited: Boolean = serverInfo.isFavourited == true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Log.d("test-server_fav_d", "$isFavorite") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (isExpServerClicked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        onServer.onServerSelected( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            context, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            homeViewModel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            onClick = {isExpServerClicked = false}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            serverInfoObj.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        navHostController.popBackStack() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var ping by rememberSaveable { mutableIntStateOf(0) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (isExpServerClicked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    onServer.onServerSelected( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        context, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        homeViewModel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onClick = {isExpServerClicked = false}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        serverInfoObj.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    navHostController.popBackStack() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    fun updatePing(newPing: Int) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        ping = newPing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    var ping by rememberSaveable { mutableIntStateOf(0) } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    fun updatePing(newPing: Int) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        ping = newPing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    LaunchedEffect(key1 = Unit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        Log.d("test_new_ping", "Inside LE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+////                while (true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        Ping.onAddress(serverInfo.ip as String).setTimeOutMillis(1000).doPing( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                            object : Ping.PingListener{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                override fun onResult(pingResult: PingResult?) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                    pingResult?.let { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                        Log.d("test_new_ping", "pingResult = ${it.timeTaken.toInt()}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                        if (ping == 0) updatePing(it.timeTaken.toInt()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                override fun onError(e: Exception?) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                override fun onFinished(pingStats: PingStats?) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+////                    delay(3 * 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+////                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    LaunchedEffect(key1 = Unit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Log.d("test_new_ping", "Inside LE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                while (true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Ping.onAddress(serverInfo.ip as String).setTimeOutMillis(1000).doPing( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            object : Ping.PingListener{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                override fun onResult(pingResult: PingResult?) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    pingResult?.let { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        Log.d("test_new_ping", "pingResult = ${it.timeTaken.toInt()}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        if (ping == 0) updatePing(it.timeTaken.toInt()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                override fun onError(e: Exception?) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                override fun onFinished(pingStats: PingStats?) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Row( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    verticalAlignment = Alignment.CenterVertically, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    horizontalArrangement = Arrangement.Start, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .fillMaxWidth() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .padding( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            vertical = 15.dp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    delay(3 * 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Row( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        verticalAlignment = Alignment.CenterVertically, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        horizontalArrangement = Arrangement.Start, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .fillMaxWidth() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .padding( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                vertical = 15.dp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .background(Color.Transparent) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .clickable( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                indication = null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                interactionSource = remember { MutableInteractionSource() } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if (serverInfo.enable == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .background(Color.Transparent) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .clickable( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            indication = null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            interactionSource = remember { MutableInteractionSource() } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (serverInfo.enable == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    if (toChangeServer.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        Log.d("test_change_Server", "true-Change") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        basePreferenceHelper.saveSmartList(smartConnect[2]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        basePreferenceHelper.setSmartServerObject(serverInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        navHostController.popBackStack() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        Log.d("test_change_Server", "false : Connect") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        serverInfoObj.value = serverInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                                    basePreferenceHelper.setServerObject(serverInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        isExpServerClicked = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (toChangeServer.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    Log.d("test_change_Server", "true-Change") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    basePreferenceHelper.saveSmartList(smartConnect[2]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    basePreferenceHelper.setSmartServerObject(serverInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    navHostController.popBackStack() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    basePreferenceHelper.setSubscriptionServerObject(serverInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    Screen.Subscription.isTrue = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    navHostController.navigate( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        Screen.Subscription.route 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    Log.d("test_change_Server", "false : Connect") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    serverInfoObj.value = serverInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                                    basePreferenceHelper.setServerObject(serverInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    isExpServerClicked = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                basePreferenceHelper.setSubscriptionServerObject(serverInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                Screen.Subscription.isTrue = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                navHostController.navigate( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    Screen.Subscription.route 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Text(text = "${serverInfo.server_name}", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            style = MaterialTheme.typography.labelMedium, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            color = MaterialTheme.colorScheme.onSecondary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                .padding(start = 16.dp, bottom = 0.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                .alpha(0.4F) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Spacer(modifier = Modifier.weight(1F)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Text(text = "$ping ms", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            style = MaterialTheme.typography.displayMedium, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            color = colorResource(id = R.color.blue_text), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                .padding(start = 0.dp, end = 30.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        IconButton( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                .padding(bottom = 0.dp, end = 16.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                .size(25.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                .align(Alignment.CenterVertically), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            onClick = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Text(text = "${serverInfo.server_name}", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        style = MaterialTheme.typography.labelMedium, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        color = MaterialTheme.colorScheme.onSecondary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .padding(start = 16.dp, bottom = 0.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .alpha(0.4F) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Spacer(modifier = Modifier.weight(1F)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Text(text = "${serverInfo.ping} ms", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        style = MaterialTheme.typography.displayMedium, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        color = colorResource(id = R.color.blue_text), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .padding(start = 0.dp, end = 30.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .align(Alignment.CenterVertically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    IconButton( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .padding(bottom = 0.dp, end = 16.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .size(25.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .align(Alignment.CenterVertically), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onClick = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             isFavorite = !isFavorite!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            serverListViewModel.favAndUnFav(serverInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            serverListViewModelSplash.favAndUnFav(serverInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Icon( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            painter = if (isServerFavourited) painterResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                id = R.drawable.fav_server3x) else painterResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                id = R.drawable.unfav_server3x), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            contentDescription = "Server Logo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            tint = Color.Unspecified, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            modifier = Modifier.size(22.dp, 21.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            Icon( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                painter = if (isServerFavourited) painterResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    id = R.drawable.fav_server3x) else painterResource( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    id = R.drawable.unfav_server3x), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                contentDescription = "Server Logo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                tint = Color.Unspecified, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                modifier = Modifier.size(22.dp, 21.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Surface( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .padding(top = 0.dp, end = 0.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .height(1.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .fillMaxWidth() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .alpha(0.6F), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        color = colorResource(id = R.color.gray_icon) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Surface( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    modifier = Modifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .padding(top = 0.dp, end = 0.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .height(1.dp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .fillMaxWidth() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .alpha(0.6F), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color = colorResource(id = R.color.gray_icon) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |