Bläddra i källkod

working on statusbar and navigationbar, set to fullscreen

Khubaib 1 år sedan
förälder
incheckning
c9a9601e01
25 ändrade filer med 218 tillägg och 30 borttagningar
  1. 6 6
      app/src/main/AndroidManifest.xml
  2. 26 0
      app/src/main/java/com/vpn/fastestvpnservice/MainActivity.kt
  3. 7 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/BottomBarMainScreen.kt
  4. 8 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/ForgotPassword.kt
  5. 9 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/LoginScreen.kt
  6. 8 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/SignUpScreen.kt
  7. 10 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/SplashScreen.kt
  8. 35 3
      app/src/main/java/com/vpn/fastestvpnservice/screens/StartedScreen.kt
  9. 8 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/accountScreensAll/ChangePasswordScreen.kt
  10. 8 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/accountScreensAll/FavoriteServersScreen.kt
  11. 7 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/accountScreensAll/SubscriptionScreen.kt
  12. 2 2
      app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/AccountScreen.kt
  13. 2 2
      app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HelpScreen.kt
  14. 5 11
      app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HomeScreen.kt
  15. 5 4
      app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/SettingsScreen.kt
  16. 7 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/AboutScreen.kt
  17. 10 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/CustomerSupportScreen.kt
  18. 8 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/EmailUsScreen.kt
  19. 8 1
      app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/FAQScreen.kt
  20. 7 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/PrivacyPolicyScreen.kt
  21. 7 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/TermsAndConditionsScreen.kt
  22. 8 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/settingsScreenAll/NotificationsScreen.kt
  23. 9 0
      app/src/main/java/com/vpn/fastestvpnservice/screens/settingsScreenAll/SplitTunneling.kt
  24. 6 1
      app/src/main/java/com/vpn/fastestvpnservice/ui/theme/Theme.kt
  25. 2 0
      app/src/main/res/values/colors.xml

+ 6 - 6
app/src/main/AndroidManifest.xml

@@ -61,12 +61,12 @@
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
             </intent-filter>
-            <meta-data
-                android:name="android:windowTranslucentStatus"
-                android:value="true" />
-            <meta-data
-                android:name="android:windowFullscreen"
-                android:value="true" />
+<!--            <meta-data-->
+<!--                android:name="android:windowTranslucentStatus"-->
+<!--                android:value="true" />-->
+<!--            <meta-data-->
+<!--                android:name="android:windowFullscreen"-->
+<!--                android:value="true" />-->
         </activity>
         <activity
             android:name=".activities.SplashActivity"

+ 26 - 0
app/src/main/java/com/vpn/fastestvpnservice/MainActivity.kt

@@ -8,6 +8,9 @@ import android.net.Uri
 import android.os.Build
 import android.os.Bundle
 import android.util.Log
+import android.view.WindowInsets
+import android.view.WindowInsetsController
+import android.view.WindowManager
 import androidx.activity.compose.setContent
 import androidx.activity.viewModels
 import androidx.compose.foundation.isSystemInDarkTheme
@@ -18,6 +21,7 @@ import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.colorResource
 import androidx.core.app.ActivityCompat
+import androidx.core.view.WindowCompat
 import androidx.fragment.app.FragmentManager
 import androidx.navigation.compose.rememberNavController
 import com.vpn.fastestvpnservice.activities.DockActivity
@@ -72,6 +76,7 @@ open class MainActivity : DockActivity(), ConnectivityReceiver.ConnectivityRecei
             }
         }
 
+        WindowCompat.setDecorFitsSystemWindows(window, false)
 
         setContent {
                 val context = LocalContext.current
@@ -104,6 +109,8 @@ open class MainActivity : DockActivity(), ConnectivityReceiver.ConnectivityRecei
 
             }
 
+//        hideSystemUI()
+
 //        val bundle = intent.extras
 //        bundle.let {
 //            it?.getString(AppEnum.SCREEN_NAME.key).let {
@@ -124,6 +131,25 @@ open class MainActivity : DockActivity(), ConnectivityReceiver.ConnectivityRecei
 
     }
 
+    fun hideSystemUI() {
+
+        //Hides the ugly action bar at the top
+        actionBar?.hide()
+
+        //Hide the status bars
+
+        WindowCompat.setDecorFitsSystemWindows(window, false)
+
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
+            window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
+        } else {
+            window.insetsController?.apply {
+                hide(WindowInsets.Type.statusBars())
+                systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
+            }
+        }
+    }
+
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
         super.onActivityResult(requestCode, resultCode, data)
 

+ 7 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/BottomBarMainScreen.kt

@@ -31,6 +31,8 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.tooling.preview.Preview
@@ -74,6 +76,11 @@ fun BottomBarMainScreen(navController: NavHostController, activity: ComponentAct
         },
         content = { padding ->
             Box(modifier = Modifier.padding(padding)) {
+                val view = LocalView.current
+                val window = (view.context as Activity).window
+                window.statusBarColor = Color.Transparent.toArgb()
+                window.navigationBarColor = Color.Transparent.toArgb()
+
                 BottomBarNavGraph(navHostController = navController1,
                     settingsNavHostController = navController,
                     activity)

+ 8 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/ForgotPassword.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens
 
+import android.app.Activity
 import android.content.res.Configuration
 import android.util.Log
 import androidx.compose.foundation.Image
@@ -45,10 +46,12 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.draw.paint
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.input.pointer.pointerInput
 import androidx.compose.ui.layout.ContentScale
 import androidx.compose.ui.platform.LocalFocusManager
 import androidx.compose.ui.platform.LocalSoftwareKeyboardController
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.input.ImeAction
@@ -99,6 +102,11 @@ fun ForgotPassword(navHostController: NavHostController) {
 //        contentAlignment = Alignment.Center
 
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
+
         ShowCustomSnackBar(snackBarState, R.color.switch_green, R.color.white)
         ShowCustomSnackBar(snackBarStateRed, R.color.Red, R.color.white)
 

+ 9 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/LoginScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens
 
+import android.app.Activity
 import android.content.Intent
 import android.content.res.Configuration
 import android.location.Location
@@ -16,6 +17,7 @@ import androidx.compose.foundation.layout.ColumnScope
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.RowScope
 import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.WindowInsets
 import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
@@ -56,11 +58,13 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.draw.paint
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.input.pointer.pointerInput
 import androidx.compose.ui.layout.ContentScale
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalFocusManager
 import androidx.compose.ui.platform.LocalSoftwareKeyboardController
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.AnnotatedString
@@ -135,6 +139,11 @@ fun Login(navHostController: NavHostController) {
                         }
                     },
             ) {
+                val view = LocalView.current
+                val window = (view.context as Activity).window
+                window.statusBarColor = Color.Transparent.toArgb()
+                window.navigationBarColor = Color.Transparent.toArgb()
+
                 ShowCustomSnackBar(snackBarState, R.color.switch_green, R.color.white)
                 ShowCustomSnackBar(snackBarStateRed, R.color.Red, R.color.white)
 

+ 8 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/SignUpScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens
 
+import android.app.Activity
 import android.content.Intent
 import android.content.res.Configuration
 import android.location.Location
@@ -55,11 +56,13 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.draw.paint
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.input.pointer.pointerInput
 import androidx.compose.ui.layout.ContentScale
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalFocusManager
 import androidx.compose.ui.platform.LocalSoftwareKeyboardController
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.AnnotatedString
@@ -131,6 +134,11 @@ fun SignUp(navHostController: NavHostController) {
                     }
                     ,
             ) {
+                val view = LocalView.current
+                val window = (view.context as Activity).window
+                window.statusBarColor = Color.Transparent.toArgb()
+                window.navigationBarColor = Color.Transparent.toArgb()
+
                 ShowCustomSnackBar(snackBarState, R.color.switch_green, R.color.white)
                 ShowCustomSnackBar(snackBarStateRed, R.color.Red, R.color.white)
 

+ 10 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/SplashScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens
 
+import android.app.Activity
 import android.content.res.Configuration
 import android.graphics.fonts.Font
 import android.graphics.fonts.FontStyle
@@ -33,8 +34,10 @@ import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.paint
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.layout.ContentScale
 import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -76,6 +79,13 @@ fun Splash(navHostController: NavHostController) {
         .fillMaxSize(),
 
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
+
+//        window.statusBarColor = colorResource(id = R.color.pink_background).toArgb()
+//        window.navigationBarColor = MaterialTheme.colorScheme.onBackground.toArgb()
         Image(
             modifier = Modifier
                 .width(146.dp)

+ 35 - 3
app/src/main/java/com/vpn/fastestvpnservice/screens/StartedScreen.kt

@@ -1,6 +1,8 @@
 package com.vpn.fastestvpnservice.screens
 
+import android.app.Activity
 import android.content.res.Configuration
+import android.graphics.drawable.GradientDrawable
 import android.util.Log
 import androidx.compose.foundation.BorderStroke
 import androidx.compose.foundation.Image
@@ -31,8 +33,11 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.draw.paint
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.layout.ContentScale
 import androidx.compose.ui.platform.LocalConfiguration
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -64,12 +69,36 @@ fun Started(navHostController: NavHostController) {
     Log.d("test_height", "$screenHeight $firstPart $secondPart")
 
     Column(
-        modifier = Modifier.fillMaxSize()
+        modifier = Modifier
+            .fillMaxSize()
             .paint(
                 painter = painterResource(id = if (isDarkTheme.value) R.drawable.bgapp_dark else R.drawable.bg_img3),
                 contentScale = ContentScale.FillBounds
             ),
     ) {
+        val context = LocalContext.current
+        val colors = intArrayOf(
+            context.resources.getColor(R.color.gradientblues),
+            context.resources.getColor(R.color.gradientbluee)
+        )
+        val gradientDrawable = GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,
+            colors)
+
+        val colorsList = listOf(colorResource(id = R.color.gradientblues), colorResource(id = R.color.gradientbluee))
+        val gradientDrawableList = GradientDrawable(
+            GradientDrawable.Orientation.TOP_BOTTOM,
+            colorsList.map { it.toArgb() }.toIntArray()
+        )
+
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
+
+//        window.statusBarColor = colorResource(id = R.color.statusbarbluetop).toArgb()
+//        window.navigationBarColor = colorResource(id = R.color.statusbarbluebottom).toArgb()
+
+
         Box(modifier = Modifier
             .fillMaxSize()
             .weight(0.6f)
@@ -110,14 +139,17 @@ fun Started(navHostController: NavHostController) {
         ) {
             Column(
                 horizontalAlignment = Alignment.CenterHorizontally,
-                modifier = Modifier.fillMaxSize().background(Color.Transparent)
+                modifier = Modifier
+                    .fillMaxSize()
+                    .background(Color.Transparent)
                     .padding(top = 0.dp),
                 verticalArrangement = Arrangement.Center
                 
             ) {
                 Column (
                     horizontalAlignment = Alignment.CenterHorizontally,
-                    modifier = Modifier.padding(top = 0.dp)
+                    modifier = Modifier
+                        .padding(top = 0.dp)
                         .background(Color.Transparent)
                 ) {
                     Text(

+ 8 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/accountScreensAll/ChangePasswordScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens.accountScreensAll
 
+import android.app.Activity
 import android.content.res.Configuration
 import android.util.Log
 import android.widget.Toast
@@ -49,9 +50,11 @@ import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.input.pointer.pointerInput
 import androidx.compose.ui.platform.LocalFocusManager
 import androidx.compose.ui.platform.LocalSoftwareKeyboardController
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -102,6 +105,11 @@ fun ChangePassword(navHostController: NavHostController) {
                 }
             }
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
+
         ShowCustomSnackBar(snackBarState, R.color.switch_green, R.color.white)
         ShowCustomSnackBar(snackBarStateRed, R.color.Red, R.color.white)
 

+ 8 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/accountScreensAll/FavoriteServersScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens.accountScreensAll
 
+import android.app.Activity
 import android.content.res.Configuration
 import android.os.Handler
 import android.os.Looper
@@ -33,7 +34,9 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.tooling.preview.Preview
@@ -65,6 +68,11 @@ fun FavoriteServers(navHostController: NavHostController) {
             .background(MaterialTheme.colorScheme.background)
     )
     {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
+
         HeaderRowFS(navHostController = navHostController)
 
         Column(

+ 7 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/accountScreensAll/SubscriptionScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens.accountScreensAll
 
+import android.app.Activity
 import android.util.Log
 import androidx.activity.ComponentActivity
 import androidx.compose.foundation.ExperimentalFoundationApi
@@ -43,8 +44,10 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalLifecycleOwner
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.tooling.preview.Preview
@@ -97,6 +100,10 @@ fun SubscriptionScreen(navHostController: NavHostController, activity: Component
             .fillMaxSize()
             .background(MaterialTheme.colorScheme.background)
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
 
         LaunchedEffect(key1 = true) {
             Log.d("test_api_response_p", "Products API called!")

+ 2 - 2
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/AccountScreen.kt

@@ -108,8 +108,8 @@ fun Account(navHostController: NavHostController,
         ) {
             val view = LocalView.current
             val window = (view.context as Activity).window
-            window.statusBarColor = MaterialTheme.colorScheme.background.toArgb()
-            window.navigationBarColor = MaterialTheme.colorScheme.onBackground.toArgb()
+            window.statusBarColor = Color.Transparent.toArgb()
+            window.navigationBarColor = Color.Transparent.toArgb()
 
             Column(
                 verticalArrangement = Arrangement.Top,

+ 2 - 2
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HelpScreen.kt

@@ -64,8 +64,8 @@ fun Help(navHostController: NavHostController) {
         ) {
             val view = LocalView.current
             val window = (view.context as Activity).window
-            window.statusBarColor = MaterialTheme.colorScheme.background.toArgb()
-            window.navigationBarColor = MaterialTheme.colorScheme.onBackground.toArgb()
+            window.statusBarColor = Color.Transparent.toArgb()
+            window.navigationBarColor = Color.Transparent.toArgb()
 
             Column(
                 verticalArrangement = Arrangement.Top,

+ 5 - 11
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HomeScreen.kt

@@ -74,6 +74,7 @@ import androidx.compose.ui.window.DialogProperties
 import androidx.constraintlayout.compose.ConstraintLayout
 import androidx.constraintlayout.compose.Dimension
 import androidx.core.graphics.toColorInt
+import androidx.core.view.WindowCompat
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LifecycleEventObserver
 import androidx.lifecycle.LifecycleOwner
@@ -345,25 +346,18 @@ fun Home(
         homeViewModel._mutableLiveDataValidate.value = null
     }
 
-//    Log.d("test_istablet", "Is Tablet ? $isTablet , width = ${configuration.screenWidthDp}, height = ${configuration.screenHeightDp}")
-
-
     Column(
         modifier = Modifier
             .background(MaterialTheme.colorScheme.background)
             .fillMaxSize(),
     ) {
-//        val alpha = (255.0 * 0.1).toInt()
-//        val color = Color(141, 8, 1, alpha)
-//        val s = String.format("#%06X", (color.toArgb() and 0xFFFFFF))
-//
-//        val c = Color(0x1A8d0801)
         val view = LocalView.current
         val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
 
-        window.statusBarColor = colorResource(id = R.color.pink_background).toArgb()
-//        window.statusBarColor = Color(0x1A8d0801).toArgb()
-        window.navigationBarColor = MaterialTheme.colorScheme.onBackground.toArgb()
+//        window.statusBarColor = colorResource(id = R.color.pink_background).toArgb()
+//        window.navigationBarColor = MaterialTheme.colorScheme.onBackground.toArgb()
 
         if (isServerDialog.value) {
             ShowServerDialog(

+ 5 - 4
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/SettingsScreen.kt

@@ -148,10 +148,11 @@ fun Settings(navHostController: NavHostController) {
         ) {
 
         val context = LocalContext.current
-        val view = LocalView.current
-        val window = (view.context as Activity).window
-        window.statusBarColor = MaterialTheme.colorScheme.background.toArgb()
-        window.navigationBarColor = MaterialTheme.colorScheme.onBackground.toArgb()
+
+            val view = LocalView.current
+            val window = (view.context as Activity).window
+            window.statusBarColor = Color.Transparent.toArgb()
+            window.navigationBarColor = Color.Transparent.toArgb()
 
 //        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
 //        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)

+ 7 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/AboutScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens.helpScreensAll
 
+import android.app.Activity
 import android.graphics.Bitmap
 import android.util.Log
 import android.view.ViewGroup
@@ -46,7 +47,9 @@ import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.rotate
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.StrokeCap
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalConfiguration
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -79,6 +82,10 @@ fun About(navHostController: NavHostController) {
             .fillMaxSize()
             .background(MaterialTheme.colorScheme.onPrimary)
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+        window.navigationBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
 
         ShowHeaderAbout(navHostController = navHostController)
 

+ 10 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/CustomerSupportScreen.kt

@@ -1,6 +1,7 @@
 package com.vpn.fastestvpnservice.screens.helpScreensAll
 
 import android.annotation.SuppressLint
+import android.app.Activity
 import android.content.Intent
 import android.graphics.Bitmap
 import android.net.Uri
@@ -39,6 +40,8 @@ import androidx.compose.runtime.remember
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.toArgb
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.tooling.preview.Preview
@@ -62,6 +65,11 @@ fun CustomerSupport(navHostController: NavHostController, activity: ComponentAct
             .background(MaterialTheme.colorScheme.onPrimary)
             .fillMaxSize()
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+        window.navigationBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+
         var showLoader by remember { mutableStateOf(true) }
 
         ShowHeaderCS(navHostController = navHostController)
@@ -72,6 +80,8 @@ fun CustomerSupport(navHostController: NavHostController, activity: ComponentAct
                 .fillMaxSize()
                 .background(MaterialTheme.colorScheme.onPrimary)
         ) {
+            window.statusBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+            window.navigationBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
 
             val email = "sagartestaccount@gmail.com"
             val supportUrl = "https://api.fastestvpn.com/v2/chat?device=ios&email=$email"

+ 8 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/EmailUsScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens.helpScreensAll
 
+import android.app.Activity
 import android.util.Log
 import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Arrangement
@@ -37,8 +38,10 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalFocusManager
 import androidx.compose.ui.platform.LocalSoftwareKeyboardController
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.input.ImeAction
@@ -70,6 +73,11 @@ fun EmailUsScreen(navHostController: NavHostController) {
             .background(MaterialTheme.colorScheme.onPrimary)
             .fillMaxSize()
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+        window.navigationBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+
         ShowCustomSnackBar(snackBarState, R.color.switch_green, R.color.white)
         ShowCustomSnackBar(snackBarStateRed, R.color.Red, R.color.white)
 

+ 8 - 1
app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/FAQScreen.kt

@@ -1,6 +1,7 @@
 package com.vpn.fastestvpnservice.screens.helpScreensAll
 
 import android.annotation.SuppressLint
+import android.app.Activity
 import android.graphics.Bitmap
 import android.util.Log
 import android.view.ViewGroup
@@ -60,8 +61,10 @@ import androidx.compose.ui.draw.drawBehind
 import androidx.compose.ui.draw.rotate
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.drawscope.Stroke
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.input.pointer.pointerInput
 import androidx.compose.ui.platform.LocalConfiguration
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -95,6 +98,11 @@ fun FAQ(navHostController: NavHostController) {
             .background(MaterialTheme.colorScheme.onPrimary)
             .fillMaxSize()
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+        window.navigationBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+
         var showLoader by remember { mutableStateOf(true) }
         ShowExpandList(navHostController = navHostController)
 
@@ -103,7 +111,6 @@ fun FAQ(navHostController: NavHostController) {
             .fillMaxSize()
             .background(MaterialTheme.colorScheme.onPrimaryContainer)
         ) {
-
             val faqUrl = if (isDarkTheme.value) "${AppConstant.BASE_WEBVIEW_URL}faq?skin=dark"
             else "${AppConstant.BASE_WEBVIEW_URL}faq?device=ios"
             AndroidView(factory = {

+ 7 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/PrivacyPolicyScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens.helpScreensAll
 
+import android.app.Activity
 import android.graphics.Bitmap
 import android.util.Log
 import android.view.ViewGroup
@@ -38,7 +39,9 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalConfiguration
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -70,6 +73,10 @@ fun PrivacyPolicy(navHostController: NavHostController){
             .background(MaterialTheme.colorScheme.onPrimary)
             .fillMaxSize()
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+        window.navigationBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
 
         ShowHeaderPP(navHostController = navHostController)
 

+ 7 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/helpScreensAll/TermsAndConditionsScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens.helpScreensAll
 
+import android.app.Activity
 import android.graphics.Bitmap
 import android.util.Log
 import android.view.ViewGroup
@@ -39,7 +40,9 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalConfiguration
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -76,6 +79,10 @@ fun TermsAndConditions(
             .fillMaxSize()
             .background(MaterialTheme.colorScheme.onPrimary)
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
+        window.navigationBarColor = MaterialTheme.colorScheme.onPrimary.toArgb()
 
         ShowHeaderTnC(navHostController = navHostController, isFromSignUpScreen)
 

+ 8 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/settingsScreenAll/NotificationsScreen.kt

@@ -1,5 +1,6 @@
 package com.vpn.fastestvpnservice.screens.settingsScreenAll
 
+import android.app.Activity
 import androidx.compose.foundation.background
 import androidx.compose.foundation.gestures.detectTapGestures
 import androidx.compose.foundation.layout.Box
@@ -24,7 +25,9 @@ import androidx.compose.runtime.livedata.observeAsState
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.input.pointer.pointerInput
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -50,6 +53,11 @@ fun Notifications(navHostController: NavHostController) {
                 color = MaterialTheme.colorScheme.background
             )
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
+
         notificationViewModel.getNotifications()
         HeaderRowNS(navHostController = navHostController)
 

+ 9 - 0
app/src/main/java/com/vpn/fastestvpnservice/screens/settingsScreenAll/SplitTunneling.kt

@@ -1,6 +1,7 @@
 package com.vpn.fastestvpnservice.screens.settingsScreenAll
 
 import android.Manifest
+import android.app.Activity
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageManager
@@ -30,6 +31,7 @@ import androidx.compose.material.Text
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.material3.RadioButton
 import androidx.compose.material3.RadioButtonDefaults
+import androidx.compose.material3.surfaceColorAtElevation
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
@@ -39,7 +41,9 @@ import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
 import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.text.TextStyle
@@ -69,6 +73,11 @@ fun SplitTunneling(navHostController: NavHostController) {
             .fillMaxSize()
             .background(MaterialTheme.colorScheme.background)
     ) {
+        val view = LocalView.current
+        val window = (view.context as Activity).window
+        window.statusBarColor = Color.Transparent.toArgb()
+        window.navigationBarColor = Color.Transparent.toArgb()
+
         HeaderRowST(navHostController = navHostController)
 
         Column(

+ 6 - 1
app/src/main/java/com/vpn/fastestvpnservice/ui/theme/Theme.kt

@@ -8,6 +8,7 @@ import androidx.compose.material3.darkColorScheme
 import androidx.compose.material3.dynamicDarkColorScheme
 import androidx.compose.material3.dynamicLightColorScheme
 import androidx.compose.material3.lightColorScheme
+import androidx.compose.material3.surfaceColorAtElevation
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.SideEffect
 import androidx.compose.ui.graphics.Color
@@ -15,6 +16,7 @@ import androidx.compose.ui.graphics.toArgb
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalView
 import androidx.compose.ui.res.colorResource
+import androidx.compose.ui.unit.dp
 import androidx.core.view.WindowCompat
 import com.vpn.fastestvpnservice.R
 
@@ -115,8 +117,11 @@ fun FastestVPNTheme(
     if (!view.isInEditMode) {
         SideEffect {
             val window = (view.context as Activity).window
-//            window.statusBarColor = colorScheme.primary.toArgb()
+            window.statusBarColor = Color.Transparent.toArgb()
+            window.navigationBarColor = Color.Transparent.toArgb()
+//            window.navigationBarColor = colorScheme.surfaceColorAtElevation(4.dp).toArgb()
             WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme
+            WindowCompat.getInsetsController(window, view).isAppearanceLightNavigationBars = !darkTheme
         }
     }
 

+ 2 - 0
app/src/main/res/values/colors.xml

@@ -16,6 +16,8 @@
     <color name="lightish_blue">#4776fb</color>
     <color name="gradientblues">#2952c3</color>
     <color name="gradientbluee">#0b215c</color>
+    <color name="statusbarbluetop">#3C6CF1</color>
+    <color name="statusbarbluebottom">#2247ad</color>
     <color name="yellow">#FEC32D</color>
     <color name="appYellow">#fec32b</color>
     <color name="light_grey">#ACBDED</color>