فهرست منبع

Worked on dark/light mode on Favorite server item, Home screens on TV

Khubaib 10 ماه پیش
والد
کامیت
d760143cbb

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

@@ -115,6 +115,7 @@ open class MainActivity : DockActivity(), ConnectivityReceiver.ConnectivityRecei
 //                    context.startActivity(intent)
 //                    finish()
 
+                // true false
                 isDarkTheme.value = true
                 FastestVPNTheme(isDarkTheme.value) {
 //                        window.statusBarColor = colorResource(id = R.color.blue_text).toArgb()

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

@@ -389,7 +389,7 @@ fun FavoriteServerItemTV(
     Box(
         modifier = Modifier
             .fillMaxWidth()
-            .background(if (isItemFocused) Color.LightGray else Color.Transparent)
+            .background(if (isItemFocused) MaterialTheme.colorScheme.inverseOnSurface else Color.Transparent)
             .padding(bottom = 1.dp)
     ) {
         Row(
@@ -464,7 +464,8 @@ fun FavoriteServerItemTV(
             )
             Spacer(modifier = Modifier.weight(1F))
             Text(text = "$serverPing ms",
-                color = colorResource(id = R.color.blue_text),
+                color = MaterialTheme.colorScheme.tertiary,
+//                color = colorResource(id = R.color.blue_text),
                 style = MaterialTheme.typography.displayMedium,
                 modifier = Modifier
                     .padding(end = 30.dp, bottom = 18.dp)

+ 5 - 5
app/src/main/java/com/vpn/fastestvpnservice/screensTV/AccountScreenTV.kt

@@ -478,7 +478,7 @@ fun ColumnScope.AddRowAccountIconTV(
             .fillMaxWidth()
             .padding(top = 5.dp)
             .background(
-                if (isRowFocused) MaterialTheme.colorScheme.secondaryContainer
+                if (isRowFocused) MaterialTheme.colorScheme.inverseOnSurface
                 else MaterialTheme.colorScheme.onBackground,
                 shape = RoundedCornerShape(4.dp)
             )
@@ -646,10 +646,10 @@ fun BoxScope.LogoutDialogTV(
                         .height(52.dp),
                     shape = RoundedCornerShape(15.dp),
                     colors = ButtonDefaults.buttonColors(
-                        contentColor = if (isButtonFocused1) colorResource(id = R.color.dark_blue_gray_text) else colorResource(id = R.color.white),
+                        contentColor = if (isButtonFocused1) MaterialTheme.colorScheme.primary else colorResource(id = R.color.dark_blue_gray_text),
                         containerColor = colorResource(id = R.color.light_blue),
                     ),
-                    border = BorderStroke(2.dp, if (isButtonFocused1) colorResource(id = R.color.dark_blue_gray_text) else colorResource(id = R.color.light_blue))
+                    border = BorderStroke(2.dp, if (isButtonFocused1) MaterialTheme.colorScheme.primary else colorResource(id = R.color.light_blue))
                 )
                 {
                     Text(text = "No",
@@ -701,10 +701,10 @@ fun BoxScope.LogoutDialogTV(
                         .height(52.dp),
                     shape = RoundedCornerShape(15.dp),
                     colors = ButtonDefaults.buttonColors(
-                        contentColor = if (isButtonFocused2) colorResource(id = R.color.dark_blue_gray_text) else colorResource(id = R.color.white),
+                        contentColor = if (isButtonFocused2) MaterialTheme.colorScheme.primary else colorResource(id = R.color.dark_blue_gray_text),
                         containerColor = colorResource(id = R.color.red),
                     ),
-                    border = BorderStroke(2.dp, if (isButtonFocused2) colorResource(id = R.color.dark_blue_gray_text) else colorResource(id = R.color.red))
+                    border = BorderStroke(2.dp, if (isButtonFocused2) MaterialTheme.colorScheme.primary else colorResource(id = R.color.red))
 
 //                                border = BorderStroke(2.dp,
 //                                    colorResource(id = R.color.gray_icon))

+ 2 - 1
app/src/main/java/com/vpn/fastestvpnservice/screensTV/HelpScreenTV.kt

@@ -215,7 +215,8 @@ fun ColumnScope.AddRowTV(
             .fillMaxWidth()
             .padding(top = 5.dp)
             .clip(RoundedCornerShape(4.dp))
-            .background(if (isRowFocused) Color.LightGray else MaterialTheme.colorScheme.onBackground)
+            .background(if (isRowFocused) MaterialTheme.colorScheme.inverseOnSurface
+            else MaterialTheme.colorScheme.onBackground)
             .height(61.dp)
             .onKeyEvent {
                 if (isLastRow) {

+ 33 - 35
app/src/main/java/com/vpn/fastestvpnservice/screensTV/HomeScreenTV.kt

@@ -416,8 +416,8 @@ fun HomeTV(
                         .fillMaxHeight()
                         .padding(top = 0.dp),
 //                    painter = if (isConnect == App.CONNECTED) blueBackgroundTV() else pinkBackgroundTV(),
-                    painter = if (isConnect == App.CONNECTED) painterResource(id = R.drawable.bluebackground3x)
-                    else painterResource(id = R.drawable.pinkbackground3x),
+                    painter = if (isConnect == App.CONNECTED) blueBackgroundTV()
+                    else pinkBackgroundTV(),
                     contentDescription = "Background Color",
                     contentScale = ContentScale.FillBounds,
                 )
@@ -426,8 +426,8 @@ fun HomeTV(
                         .fillMaxWidth()
                         .fillMaxHeight()
                         .padding(bottom = 0.dp)
-//                        .alpha(if (isDarkTheme.value) 0.1F else 0.6F),
-                        .alpha(0.6F),
+                        .alpha(if (isDarkTheme.value) 0.1F else 0.6F),
+//                        .alpha(0.6F),
                     painter = painterResource(id = R.drawable.map_home3x),
                     contentDescription = "Home Map",
                     contentScale = ContentScale.FillWidth,
@@ -451,7 +451,7 @@ fun HomeTV(
                         text = "IP ${ipInfo ?: ""}",
                         size = 18.sp,
 //                        color = MaterialTheme.colorScheme.primary,
-                        color = colorResource(id = R.color.dark_blue_gray_text),
+                        color = MaterialTheme.colorScheme.primary,
                         style = MaterialTheme.typography.customTypography.headlineLarge.copy(
                             fontSize = 18.sp
                         )
@@ -481,7 +481,7 @@ fun HomeTV(
                             AddText(
                                 text = "${serverObj?.server_name ?: ""}, ${serverObj?.country ?: ""}",
                                 size = 16.sp,
-                                color = colorResource(id = R.color.dark_blue_gray_text),
+                                color = MaterialTheme.colorScheme.primary,
                                 isTablet()
                             )
                         } else {
@@ -504,7 +504,7 @@ fun HomeTV(
                             AddText(
                                 text = "${serverDis?.city ?: ""}, ${serverDis?.country ?: ""}",
                                 size = 16.sp,
-                                color = colorResource(id = R.color.dark_blue_gray_text),
+                                color = MaterialTheme.colorScheme.primary,
                                 isTablet()
                             )
                         }
@@ -514,8 +514,8 @@ fun HomeTV(
                             AddText(
                                 text = "Connected",
                                 size = 18.sp,
-                //                            color = MaterialTheme.colorScheme.surfaceContainerHigh,
-                                color = colorResource(id = R.color.light_blue_2),
+                                color = MaterialTheme.colorScheme.surfaceContainerHigh,
+//                                color = colorResource(id = R.color.light_blue_2),
                                 style = MaterialTheme.typography.customTypography.displaySmall.copy(
                                     fontSize = 18.sp
                                 )
@@ -525,8 +525,8 @@ fun HomeTV(
                             AddText(
                                 text = "Disconnected",
                                 size = 18.sp,
-                //                            color = MaterialTheme.colorScheme.surfaceTint,
-                                color = colorResource(id = R.color.maroon_text),
+                                color = MaterialTheme.colorScheme.surfaceTint,
+//                                color = colorResource(id = R.color.maroon_text),
                                 style = MaterialTheme.typography.customTypography.displaySmall.copy(
                                     fontSize = 18.sp
                                 )
@@ -536,8 +536,8 @@ fun HomeTV(
                             AddText(
                                 text = "Connecting...",
                                 size = 18.sp,
-                //                            color = MaterialTheme.colorScheme.surfaceTint,
-                                color = colorResource(id = R.color.maroon_text),
+                                color = MaterialTheme.colorScheme.surfaceTint,
+//                                color = colorResource(id = R.color.maroon_text),
                                 style = MaterialTheme.typography.customTypography.displaySmall.copy(
                                     fontSize = 18.sp
                                 )
@@ -699,18 +699,18 @@ fun HomeTV(
                 {
                     if (isConnect == App.CONNECTED) {
                         Image(
-//                            painter = if (isDarkTheme.value) painterResource(id = R.drawable.iv_connect_dark)
-//                            else painterResource(id = R.drawable.iv_connect),
-                            painter = painterResource(id = R.drawable.iv_connect),
+                            painter = if (isDarkTheme.value) painterResource(id = R.drawable.iv_connect_dark)
+                            else painterResource(id = R.drawable.iv_connect),
+//                            painter = painterResource(id = R.drawable.iv_connect),
                             contentDescription = "Home Map",
                             contentScale = ContentScale.FillBounds,
                             modifier = Modifier.fillMaxSize()
                         )
                     } else {
                         Image(
-//                            painter = if (isDarkTheme.value) painterResource(id = R.drawable.iv_disconnect_dark)
-//                            else painterResource(id = R.drawable.iv_disconnect),
-                            painter = painterResource(id = R.drawable.iv_disconnect),
+                            painter = if (isDarkTheme.value) painterResource(id = R.drawable.iv_disconnect_dark)
+                            else painterResource(id = R.drawable.iv_disconnect),
+//                            painter = painterResource(id = R.drawable.iv_disconnect),
                             contentDescription = "Home Map",
                             contentScale = ContentScale.FillBounds,
                             modifier = Modifier.fillMaxSize()
@@ -723,7 +723,7 @@ fun HomeTV(
         // 2nd box
         Box(
             modifier = Modifier
-                .background(colorResource(id = R.color.background_color_gray))
+                .background(MaterialTheme.colorScheme.background)
                 .fillMaxSize()
                 .weight(0.4f)
 //                .background(Color.Transparent),
@@ -740,12 +740,12 @@ fun HomeTV(
                         .padding(vertical = 2.dp)
                         .height(90.dp)
                         .border(
-                            border = BorderStroke(2.dp, colorResource(id = R.color.white)),
+                            border = BorderStroke(2.dp, MaterialTheme.colorScheme.onBackground),
                             shape = RoundedCornerShape(28.dp)
                         )
                         .background(
                             shape = RoundedCornerShape(28.dp),
-                            color = colorResource(id = R.color.white)
+                            color = MaterialTheme.colorScheme.onBackground
                         )
                         .align(Alignment.CenterHorizontally),
                 ) {
@@ -889,10 +889,9 @@ fun HomeTV(
 //                Spacer(modifier = Modifier.weight(1f))
 
                 var isLayoutFocused by remember { mutableStateOf(false) }
-
-                val color = if (isLayoutFocused && isConnect == App.CONNECTED) colorResource(id = R.color.dark_blue_gray_text)
+                val color = if (isLayoutFocused && isConnect == App.CONNECTED) MaterialTheme.colorScheme.primary
                 else if (isLayoutFocused) colorResource(id = R.color.maroon_text)
-                else colorResource(id = R.color.white)
+                else MaterialTheme.colorScheme.onBackground
                 Box(
                     modifier = Modifier
                         .fillMaxWidth(fraction = 0.4f)
@@ -934,8 +933,7 @@ fun HomeTV(
                         )
                         .background(
                             shape = RoundedCornerShape(28.dp),
-//                            color = MaterialTheme.colorScheme.onBackground
-                            color = colorResource(id = R.color.white)
+                            color = MaterialTheme.colorScheme.onBackground
                         )
                         .align(Alignment.CenterHorizontally),
                     contentAlignment = Alignment.CenterStart,
@@ -1331,8 +1329,8 @@ fun BoxScope.AddRowSmartTV(
         ) {
             ColumnText(
                 text = selectedSmartList,
-//                color = MaterialTheme.colorScheme.surfaceContainerLow,
-                color = colorResource(id = R.color.blue_text),
+                color = MaterialTheme.colorScheme.surfaceContainerLow,
+//                color = colorResource(id = R.color.blue_text),
                 size = 12.sp,
                 style = MaterialTheme.typography.customTypography.headlineSmall.copy(
                     fontSize = 16.sp
@@ -1340,8 +1338,8 @@ fun BoxScope.AddRowSmartTV(
             )
             ColumnText(
                 text = "${selectedServer?.server_name}",
-//                color = MaterialTheme.colorScheme.primary,
-                color = colorResource(id = R.color.dark_blue_gray_text),
+                color = MaterialTheme.colorScheme.primary,
+//                color = colorResource(id = R.color.dark_blue_gray_text),
                 size = 16.sp,
                 style = MaterialTheme.typography.labelMedium.copy(
                     fontSize = 16.sp
@@ -1389,8 +1387,8 @@ fun BoxScope.AddRowSmartTV(
                     .focusable(),
                 text = AnnotatedString("Change"),
                 style = MaterialTheme.typography.customTypography.headlineMedium.copy(
-//                    MaterialTheme.colorScheme.surfaceContainerLow,
-                    color = color,
+                    color = MaterialTheme.colorScheme.surfaceContainerLow,
+//                    color = color,
                     fontSize = 18.sp
                 ),
                 onClick = {},
@@ -1446,8 +1444,8 @@ fun BoxScope.AddRowSelectServerTV(navHostController: NavHostController, isTablet
                 style = MaterialTheme.typography.labelMedium.copy(
                     fontSize = if (isTablet()) 20.sp else 16.sp
                 ),
-//                color = MaterialTheme.colorScheme.primary,
-                color = colorResource(id = R.color.dark_blue_gray_text),
+                color = MaterialTheme.colorScheme.primary,
+//                color = colorResource(id = R.color.dark_blue_gray_text),
                 maxLines = 2,
                 modifier = Modifier
                     .padding(start = 12.dp, end = 0.dp)

+ 8 - 4
app/src/main/java/com/vpn/fastestvpnservice/screensTV/SettingsScreenTV.kt

@@ -272,7 +272,8 @@ fun ColumnScope.AddRowSettingsTV(
             .fillMaxWidth()
             .padding(top = 5.dp, end = 27.dp)
             .clip(RoundedCornerShape(4.dp))
-            .background(if (isRowFocused) Color.LightGray else MaterialTheme.colorScheme.onBackground)
+            .background(if (isRowFocused) MaterialTheme.colorScheme.inverseOnSurface
+            else MaterialTheme.colorScheme.onBackground)
             .onKeyEvent {
                 if (isLastRow) {
                     if (it.type == KeyEventType.KeyDown && it.key == Key.DirectionDown) {
@@ -389,7 +390,8 @@ fun ColumnScope.AddRowSwitchTV(icon: Int, text: String, focusRequester3: FocusRe
             .fillMaxWidth()
             .padding(top = 5.dp, end = 27.dp)
             .clip(RoundedCornerShape(4.dp))
-            .background(if (isRowFocused) Color.LightGray else MaterialTheme.colorScheme.onBackground)
+            .background(if (isRowFocused) MaterialTheme.colorScheme.inverseOnSurface
+            else MaterialTheme.colorScheme.onBackground)
 //            .focusRequester(focusRequester3)
             .onFocusChanged {
                 isRowFocused = it.isFocused
@@ -514,7 +516,8 @@ fun ColumnScope.AddRowSettingsColumnTV(
             .fillMaxWidth()
             .padding(top = 5.dp, end = 27.dp)
             .clip(RoundedCornerShape(4.dp))
-            .background(if (isFirstRowFocused) Color.LightGray else MaterialTheme.colorScheme.onBackground)
+            .background(if (isFirstRowFocused) MaterialTheme.colorScheme.inverseOnSurface
+            else MaterialTheme.colorScheme.onBackground)
             .height(61.dp)
 //            .onKeyEvent {
 //                when (it.key) {
@@ -787,7 +790,8 @@ fun ColumnScope.AddRowSettingsSmartTV(
             .fillMaxWidth()
             .padding(top = 5.dp, end = 27.dp)
             .clip(RoundedCornerShape(4.dp))
-            .background(if (isRowFocused) Color.LightGray else MaterialTheme.colorScheme.onBackground)
+            .background(if (isRowFocused) MaterialTheme.colorScheme.inverseOnSurface
+            else MaterialTheme.colorScheme.onBackground)
 //            .onKeyEvent {
 //                when (it.key) {
 //                    Key.DirectionLeft -> {

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

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