|
@@ -59,6 +59,8 @@ import androidx.compose.ui.viewinterop.AndroidView
|
|
|
import androidx.navigation.NavHostController
|
|
|
import androidx.navigation.compose.rememberNavController
|
|
|
import com.vpn.fastestvpnservice.R
|
|
|
+import com.vpn.fastestvpnservice.beans.isDarkTheme
|
|
|
+import com.vpn.fastestvpnservice.constants.AppConstant
|
|
|
import com.vpn.fastestvpnservice.constants.TermsAndConditionsDesc
|
|
|
import com.vpn.fastestvpnservice.sealedClass.BottomBarScreen
|
|
|
import kotlinx.coroutines.delay
|
|
@@ -69,79 +71,86 @@ fun About(navHostController: NavHostController) {
|
|
|
val configuration = LocalConfiguration.current
|
|
|
val screenHeight = configuration.screenHeightDp.dp
|
|
|
val screenWidth = configuration.screenWidthDp.dp
|
|
|
+ var showLoader by remember { mutableStateOf(true) }
|
|
|
|
|
|
Box(
|
|
|
modifier = Modifier
|
|
|
.fillMaxWidth()
|
|
|
- .background(
|
|
|
- colorResource(id = R.color.white)
|
|
|
- )
|
|
|
.fillMaxSize()
|
|
|
+ .background(MaterialTheme.colorScheme.onPrimary)
|
|
|
) {
|
|
|
- var showLoader by remember { mutableStateOf(true) }
|
|
|
|
|
|
- ShowHeaderAbout(navHostController = navHostController)
|
|
|
+ ShowHeaderAbout(navHostController = navHostController)
|
|
|
|
|
|
- Box(modifier = Modifier
|
|
|
- .padding(top = 60.dp)
|
|
|
- .fillMaxSize()
|
|
|
- .background(Color.Transparent)
|
|
|
- ) {
|
|
|
-
|
|
|
- val aboutUrl = "https://fastestvpn.com/about?device=ios"
|
|
|
- AndroidView(factory = {
|
|
|
- WebView(it).apply {
|
|
|
- layoutParams = ViewGroup.LayoutParams(
|
|
|
- ViewGroup.LayoutParams.MATCH_PARENT,
|
|
|
- ViewGroup.LayoutParams.MATCH_PARENT
|
|
|
- )
|
|
|
- webViewClient = WebViewClient()
|
|
|
+ Box(modifier = Modifier
|
|
|
+ .padding(top = 60.dp)
|
|
|
+ .fillMaxSize()
|
|
|
+ .background(MaterialTheme.colorScheme.onPrimary)
|
|
|
+ ) {
|
|
|
+
|
|
|
+ val aboutUrl = if (isDarkTheme.value) "${AppConstant.BASE_WEBVIEW_URL}about?skin=dark"
|
|
|
+ else "${AppConstant.BASE_WEBVIEW_URL}about?device=ios"
|
|
|
+
|
|
|
+ AndroidView(factory = {
|
|
|
+ WebView(it).apply {
|
|
|
+ layoutParams = ViewGroup.LayoutParams(
|
|
|
+ ViewGroup.LayoutParams.MATCH_PARENT,
|
|
|
+ ViewGroup.LayoutParams.MATCH_PARENT
|
|
|
+ )
|
|
|
+ webViewClient = WebViewClient()
|
|
|
|
|
|
settings.javaScriptEnabled = true
|
|
|
|
|
|
- webViewClient = object : WebViewClient() {
|
|
|
- override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
|
|
- super.onPageStarted(view, url, favicon)
|
|
|
- Log.d("test_webview", "onPageStarted")
|
|
|
- showLoader = true
|
|
|
- }
|
|
|
-
|
|
|
- override fun onPageFinished(view: WebView?, url: String?) {
|
|
|
- super.onPageFinished(view, url)
|
|
|
- Log.d("test_webview", "onPageFinished")
|
|
|
- showLoader = false
|
|
|
- }
|
|
|
+ webViewClient = object : WebViewClient() {
|
|
|
+ override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
|
|
+ super.onPageStarted(view, url, favicon)
|
|
|
+ Log.d("test_webview", "onPageStarted")
|
|
|
+ showLoader = true
|
|
|
}
|
|
|
|
|
|
-// loadUrl(aboutUrl)
|
|
|
- }
|
|
|
- },
|
|
|
- update = {
|
|
|
- Log.d("test_webview", "update")
|
|
|
- it.loadUrl(aboutUrl)
|
|
|
+ override fun onPageFinished(view: WebView?, url: String?) {
|
|
|
+ super.onPageFinished(view, url)
|
|
|
+ Log.d("test_webview", "onPageFinished")
|
|
|
+ showLoader = false
|
|
|
+ }
|
|
|
}
|
|
|
- )
|
|
|
|
|
|
- if (showLoader) {
|
|
|
- var progress by remember { mutableFloatStateOf(0.1F) }
|
|
|
+// loadUrl(aboutUrl)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ update = {
|
|
|
+ Log.d("test_webview", "update")
|
|
|
+ it.loadUrl(aboutUrl)
|
|
|
+ }
|
|
|
+ )
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- LaunchedEffect(key1 = Unit) {
|
|
|
- for (i in 1..100) {
|
|
|
- progress = i.toFloat()/100F
|
|
|
- delay(50)
|
|
|
- }
|
|
|
- }
|
|
|
+ if (showLoader) {
|
|
|
+ var progress by remember { mutableFloatStateOf(0.1F) }
|
|
|
|
|
|
- CircularProgressIndicator(
|
|
|
- progress = progress,
|
|
|
- modifier = Modifier
|
|
|
- .align(Alignment.Center)
|
|
|
- .size(50.dp),
|
|
|
- colorResource(id = R.color.dark_blue_gray_text),
|
|
|
- strokeWidth = 5.dp,
|
|
|
- )
|
|
|
+ LaunchedEffect(key1 = Unit) {
|
|
|
+ for (i in 1..100) {
|
|
|
+ progress = i.toFloat()/100F
|
|
|
+ delay(50)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ Box(modifier = Modifier
|
|
|
+ .fillMaxSize()
|
|
|
+ .background(MaterialTheme.colorScheme.onPrimary)) {
|
|
|
+ CircularProgressIndicator(
|
|
|
+ progress = progress,
|
|
|
+ modifier = Modifier
|
|
|
+ .align(Alignment.Center)
|
|
|
+ .size(50.dp),
|
|
|
+ colorResource(id = R.color.appYellow),
|
|
|
+ strokeWidth = 5.dp,
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -162,7 +171,7 @@ fun BoxScope.ShowHeaderAbout(navHostController: NavHostController) {
|
|
|
Icon(
|
|
|
painter = painterResource(id = R.drawable.backarrow3x),
|
|
|
contentDescription = "Arrow-Back",
|
|
|
- tint = colorResource(id = R.color.dark_blue_gray_text),
|
|
|
+ tint = MaterialTheme.colorScheme.primary,
|
|
|
modifier = Modifier.size(18.dp, 12.dp)
|
|
|
)
|
|
|
}
|
|
@@ -175,7 +184,7 @@ fun BoxScope.ShowHeaderAbout(navHostController: NavHostController) {
|
|
|
color = colorResource(id = R.color.transparent)
|
|
|
) {
|
|
|
Text(text = "About Fastest VPN",
|
|
|
- color = colorResource(id = R.color.dark_blue_gray_text),
|
|
|
+ color = MaterialTheme.colorScheme.primary,
|
|
|
style = MaterialTheme.typography.bodyMedium,
|
|
|
modifier = Modifier.fillMaxHeight()
|
|
|
|