Browse Source

Worked on dark/light mode on settings, notification and split tunneling screens on TV

Khubaib 8 months ago
parent
commit
615b577476

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

@@ -116,7 +116,7 @@ open class MainActivity : DockActivity(), ConnectivityReceiver.ConnectivityRecei
 //                    finish()
 
                 // true false
-                isDarkTheme.value = true
+                isDarkTheme.value = false
                 FastestVPNTheme(isDarkTheme.value) {
 //                        window.statusBarColor = colorResource(id = R.color.blue_text).toArgb()
                     val navController = rememberNavController()

+ 3 - 3
app/src/main/java/com/vpn/fastestvpnservice/customItems/NotificationItem.kt

@@ -56,13 +56,13 @@ fun NotificationItem(item: Notification) {
 @Composable
 fun NotificationItemTV(item: Notification) {
     Box(modifier = Modifier
-        .background(colorResource(id = R.color.background_color_gray))
+        .background(MaterialTheme.colorScheme.background)
         .fillMaxWidth()
     ) {
         Column() {
             Text(
                 text = item.title,
-                color = colorResource(id = R.color.dark_blue_gray_text),
+                color = MaterialTheme.colorScheme.primary,
                 style = MaterialTheme.typography.labelMedium,
                 textAlign = TextAlign.Start,
                 modifier = Modifier
@@ -72,7 +72,7 @@ fun NotificationItemTV(item: Notification) {
             )
             Text(
                 text = item.html,
-                color = colorResource(id = R.color.dark_blue_gray_text),
+                color = MaterialTheme.colorScheme.primary,
                 style = MaterialTheme.typography.labelMedium,
                 textAlign = TextAlign.Start,
                 modifier = Modifier

+ 6 - 5
app/src/main/java/com/vpn/fastestvpnservice/customItems/SplitTunnelingItem.kt

@@ -70,15 +70,16 @@ fun SplitTunnelingItem(
     var isSelected by rememberSaveable { mutableStateOf(app.isSelected().value) }
     var isItemFocused by remember { mutableStateOf(false) }
 
-    val color = if (isSelected) colorResource(id = R.color.split_background)
-    else if (isItemFocused) colorResource(id = R.color.grayDark)
-    else colorResource(id = R.color.background_color_gray)
+    val color = if (isSelected && isItemFocused) MaterialTheme.colorScheme.inverseOnSurface
+    else if (isSelected) MaterialTheme.colorScheme.inverseSurface
+    else if (isItemFocused) MaterialTheme.colorScheme.inverseOnSurface
+    else MaterialTheme.colorScheme.background
 
     Surface(
         modifier = Modifier
             .fillMaxWidth()
             .background(
-                color = colorResource(id = R.color.background_color_gray)
+                color = MaterialTheme.colorScheme.background
             )
             .padding(bottom = 1.dp)
             .onFocusChanged {
@@ -120,7 +121,7 @@ fun SplitTunnelingItem(
             )
             Text(text = "$app",
                 style = MaterialTheme.typography.bodySmall,
-                color = colorResource(id = R.color.dark_blue_gray_text),
+                color = MaterialTheme.colorScheme.primary,
                 maxLines = 2,
                 overflow = TextOverflow.Ellipsis,
                 modifier = Modifier

+ 2 - 9
app/src/main/java/com/vpn/fastestvpnservice/screensTV/NotificationScreenTV.kt

@@ -1,6 +1,5 @@
 package com.vpn.fastestvpnservice.screensTV
 
-import android.widget.Toast
 import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.BoxScope
@@ -9,11 +8,8 @@ import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxSize
 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.material.Icon
-import androidx.compose.material.IconButton
 import androidx.compose.material.Surface
 import androidx.compose.material.Text
 import androidx.compose.material3.MaterialTheme
@@ -24,14 +20,11 @@ import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.colorResource
-import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.unit.dp
 import androidx.lifecycle.viewmodel.compose.viewModel
 import androidx.navigation.NavHostController
 import com.vpn.fastestvpnservice.R
-import com.vpn.fastestvpnservice.customItems.NotificationItem
 import com.vpn.fastestvpnservice.customItems.NotificationItemTV
-import com.vpn.fastestvpnservice.screens.settingsScreenAll.HeaderRowNS
 import com.vpn.fastestvpnservice.viewmodels.NotificationViewModel
 
 @Composable
@@ -42,7 +35,7 @@ fun NotificationsTV(navHostController: NavHostController) {
         modifier = Modifier
             .fillMaxSize()
             .background(
-                color = colorResource(id = R.color.background_color_gray)
+                color = MaterialTheme.colorScheme.background
             )
     ) {
         LaunchedEffect(key1 = Unit) {
@@ -98,7 +91,7 @@ fun BoxScope.HeaderRowNSTV(navHostController: NavHostController) {
         color = colorResource(id = R.color.transparent)
     ) {
         Text(text = "Notifications",
-            color = colorResource(id = R.color.dark_blue_gray_text),
+            color = MaterialTheme.colorScheme.primary,
             style = MaterialTheme.typography.bodyMedium,
             modifier = Modifier.fillMaxHeight()
 

+ 12 - 10
app/src/main/java/com/vpn/fastestvpnservice/screensTV/SettingsScreenTV.kt

@@ -638,8 +638,8 @@ fun ColumnScope.AddRowSettingsColumnTV(
             ModalBottomSheet(
                 onDismissRequest = { isSheetOpen = false },
                 sheetState = sheetState,
-//                containerColor = MaterialTheme.colorScheme.onBackground
-                containerColor = Color.White,
+                containerColor = MaterialTheme.colorScheme.onBackground,
+//                containerColor = Color.White,
                 dragHandle = {}
             ) {
                 var isProtocolFocused by remember { mutableStateOf(false) }
@@ -657,7 +657,7 @@ fun ColumnScope.AddRowSettingsColumnTV(
                         AddTextSettings(
                             text = "VPN Protocols",
                             size = 18.sp,
-                            color = MaterialTheme.colorScheme.inversePrimary,
+                            color = MaterialTheme.colorScheme.primary,
                             bottomPadding = 15.dp,
                             startPadding = 16.dp,
                             style = MaterialTheme.typography.titleMedium
@@ -667,7 +667,8 @@ fun ColumnScope.AddRowSettingsColumnTV(
                             Row(
                                 modifier = Modifier
                                     .fillMaxWidth()
-                                    .background(if (isButtonFocused && isFocusedAnyItem) Color.LightGray else Color.Transparent)
+                                    .background(if (isButtonFocused && isFocusedAnyItem) MaterialTheme.colorScheme.inverseOnSurface
+                                    else Color.Transparent)
                                     .padding(start = 2.dp)
                                     .onFocusChanged {
                                         if (it.isFocused) {
@@ -716,9 +717,9 @@ fun ColumnScope.AddRowSettingsColumnTV(
                                         )
                                 )
                                 Text(
-                                    text = "$protocol",
+                                    text = protocol,
                                     modifier = Modifier.padding(start = 12.dp),
-                                    color = MaterialTheme.colorScheme.inversePrimary,
+                                    color = MaterialTheme.colorScheme.primary,
                                     style = MaterialTheme.typography.bodySmall
                                 )
                             }
@@ -892,7 +893,7 @@ fun ColumnScope.AddRowSettingsSmartTV(
                 BottomBarScreen.Settings.isTrue = false
             },
             sheetState = sheetState,
-            containerColor = Color.White,
+            containerColor = MaterialTheme.colorScheme.onBackground,
             dragHandle = {}
         ) {
             Box(modifier = Modifier
@@ -910,7 +911,7 @@ fun ColumnScope.AddRowSettingsSmartTV(
                     AddTextSettings(
                         text = "Smart Connect",
                         size = 18.sp,
-                        color = MaterialTheme.colorScheme.inversePrimary,
+                        color = MaterialTheme.colorScheme.primary,
                         bottomPadding = 20.dp,
                         startPadding = 16.dp,
                         style = MaterialTheme.typography.titleMedium
@@ -920,7 +921,8 @@ fun ColumnScope.AddRowSettingsSmartTV(
                         Row(
                             modifier = Modifier
                                 .fillMaxWidth()
-                                .background(if (isButtonFocused && isAnyItemFocused) Color.LightGray else Color.Transparent)
+                                .background(if (isButtonFocused && isAnyItemFocused) MaterialTheme.colorScheme.inverseOnSurface
+                                else Color.Transparent)
                                 .padding(start = 2.dp)
                                 .onFocusChanged {
                                     if (it.isFocused) {
@@ -973,7 +975,7 @@ fun ColumnScope.AddRowSettingsSmartTV(
                             Column {
                                 Text(text = smart,
                                     modifier = Modifier.padding(start = 12.dp),
-                                    color = MaterialTheme.colorScheme.inversePrimary,
+                                    color = MaterialTheme.colorScheme.primary,
                                     style = MaterialTheme.typography.bodySmall
                                 )
                                 if (smart == smartConnect[2]) {

+ 7 - 6
app/src/main/java/com/vpn/fastestvpnservice/screensTV/SplitTunnelingTV.kt

@@ -69,7 +69,7 @@ fun SplitTunnelingTV(navHostController: NavHostController) {
     Box(
         modifier = Modifier
             .fillMaxSize()
-            .background(colorResource(id = R.color.background_color_gray))
+            .background(MaterialTheme.colorScheme.background)
     ) {
         val view = LocalView.current
         val window = (view.context as Activity).window
@@ -102,7 +102,7 @@ fun SplitTunnelingTV(navHostController: NavHostController) {
             ) {
                 Text(text = "While VPN is Connected",
                     style = MaterialTheme.typography.titleSmall,
-                    color = colorResource(id = R.color.dark_blue_gray_text)
+                    color = MaterialTheme.colorScheme.primary
                 )
 //                IconButton(onClick = {
 //                    isExpanded = !isExpanded
@@ -173,7 +173,7 @@ fun BoxScope.HeaderRowSTTV(navHostController: NavHostController) {
         color = colorResource(id = R.color.transparent)
     ) {
         Text(text = "Split Tunneling",
-            color = colorResource(id = R.color.dark_blue_gray_text),
+            color = MaterialTheme.colorScheme.primary,
             style = MaterialTheme.typography.titleMedium,
             modifier = Modifier.fillMaxHeight()
 
@@ -187,7 +187,7 @@ fun ColumnScope.ShowSplitTunnelListTV(list: List<SelectApplicationEntry>) {
     Box(modifier = Modifier
         .padding(top = 5.dp, bottom = 0.dp)
         .fillMaxSize()
-        .background(Color.LightGray)
+        .background(MaterialTheme.colorScheme.background)
     ) {
         LazyColumn() {
             itemsIndexed(items = list) {position, app ->
@@ -216,7 +216,8 @@ fun ColumnScope.ShowRadioButtonsTV() {
         Row(
             modifier = Modifier
                 .fillMaxWidth()
-                .background(if (isButtonFocused && isFocusedAnyItem) Color.LightGray else Color.Transparent)
+                .background(if (isButtonFocused && isFocusedAnyItem) MaterialTheme.colorScheme.inverseOnSurface
+                else Color.Transparent)
                 .padding(top = 0.dp)
                 .onFocusChanged {
                     if (it.isFocused) {
@@ -260,7 +261,7 @@ fun ColumnScope.ShowRadioButtonsTV() {
                                 text = list,
                                 modifier = Modifier.padding(start = 12.dp),
                                 style = MaterialTheme.typography.bodySmall,
-                                color = colorResource(id = R.color.dark_blue_gray_text)
+                                color = MaterialTheme.colorScheme.primary
                             )
                         }
                     }

+ 4 - 2
app/src/main/java/com/vpn/fastestvpnservice/ui/theme/Theme.kt

@@ -47,7 +47,8 @@ private val DarkColorScheme = darkColorScheme(
 
     onSurface = Color(0xFF1D326B),
     onSurfaceVariant = Color(0xFF0d1a2a),
-    inverseOnSurface = Color(0xFF1D326B),
+    inverseOnSurface = Color(0xFF1D326B), // focus_on_TV
+    inverseSurface = Color(0xFF0d1a2a),
 
     background = Color(0xFF121212),
     onBackground = Color(0xFF2d2d2d) // background for dark theme
@@ -82,7 +83,8 @@ private val LightColorScheme = lightColorScheme(
     surfaceContainerLowest = Color(0xFF17AA5D),
     onSurface = Color(0xFF113289), // light_navy
     onSurfaceVariant = Color(0xFF113289), // light_navy
-    inverseOnSurface = Color(0xFFD3D3D3),
+    inverseOnSurface = Color(0xFFD3D3D3), // focus_on_TV
+    inverseSurface = Color(0xFFE9EAEC),
 
     background = Color(0xFFf3f3f3),
     onBackground = Color.White