Procházet zdrojové kódy

Worked on smart connect state, when clicked Change button it should save smart server and back to home screen, and solved focus when pop back from favorite screen on TV

Khubaib před 7 měsíci
rodič
revize
58bd8bd534

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

@@ -54,6 +54,9 @@ import com.vpn.fastestvpnservice.beans.Server
 import com.vpn.fastestvpnservice.beans.toChangeServer
 import com.vpn.fastestvpnservice.beans.toChangeServer
 import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
+import com.vpn.fastestvpnservice.navigation.isFirstItemFocused
+import com.vpn.fastestvpnservice.navigation.isFirstItemPressed
+import com.vpn.fastestvpnservice.navigation.isHomeScreenPressed
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.navHostController1
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.navHostController1
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.onServer
 import com.vpn.fastestvpnservice.screens.bottomNavBarScreens.onServer
 import com.vpn.fastestvpnservice.screens.serverListViewModelSplash
 import com.vpn.fastestvpnservice.screens.serverListViewModelSplash
@@ -87,18 +90,18 @@ fun ServerItemTV(
     )
     )
     {
     {
 
 
-//        if (isServerClicked) {
-//            Log.d("ServerCallbacks", "isServerClicked $isServerClicked")
-//            onServer.onServerSelected(
-//                context,
-//                homeViewModel,
-//                onClick = { isServerClicked = false },
-//                true,
-//                server
-//            )
-//
-//            navHostController.popBackStack()
-//        }
+        if (isServerClicked) {
+            Log.d("ServerCallbacks", "isServerClicked $isServerClicked")
+            onServer.onServerSelected(
+                context,
+                homeViewModel,
+                onClick = { isServerClicked = false },
+                true,
+                server
+            )
+
+            navHostController.popBackStack()
+        }
 
 
         Row(
         Row(
             modifier = Modifier
             modifier = Modifier
@@ -130,27 +133,21 @@ fun ServerItemTV(
                     }
                     }
                     .focusable()
                     .focusable()
 
 
-//                .clickable(
-//                    indication = null,
-//                    interactionSource = remember { MutableInteractionSource() }
-//                ) {
-//                    if (server.enable == 1) {
-//                        if (toChangeServer.value) {
-//                            basePreferenceHelper.saveSmartList(smartConnect[2])
-//                            basePreferenceHelper.setSmartServerObject(server)
-//                            navHostController.popBackStack()
-//                        } else {
-//                            isServerClicked = true
-//                        }
-////                        basePreferenceHelper.setServerObject(server)
-//                    } else {
-//                        basePreferenceHelper.setSubscriptionServerObject(server)
-//                        Screen.Subscription.isTrue = true
-//                        navHostController.navigate(
-//                            Screen.Subscription.route
-//                        )
-//                    }
-//                }
+                .clickable(
+                    indication = null,
+                    interactionSource = remember { MutableInteractionSource() }
+                ) {
+                    if (server.enable == 1) {
+                        if (toChangeServer.value) {
+                            basePreferenceHelper.saveSmartList(smartConnect[2])
+                            basePreferenceHelper.setSmartServerObject(server)
+                            navHostController.popBackStack()
+                        } else {
+                            isServerClicked = true
+                        }
+//                        basePreferenceHelper.setServerObject(server)
+                    }
+                }
             ) {
             ) {
                 val icon = if (server.enable == 1) Utils.getDrawable(context, server.iso)
                 val icon = if (server.enable == 1) Utils.getDrawable(context, server.iso)
                 else Utils.getDrawableGray(context, server.iso)
                 else Utils.getDrawableGray(context, server.iso)
@@ -382,7 +379,10 @@ fun FavoriteServerItemTV(
 //            server
 //            server
 //        )
 //        )
 
 
+
         navHostController.popBackStack(BottomBarScreen.Home.route, false)
         navHostController.popBackStack(BottomBarScreen.Home.route, false)
+        isFirstItemPressed.value = true
+        isFirstItemFocused.value = true
     }
     }
 
 
     Box(
     Box(

+ 3 - 0
app/src/main/java/com/vpn/fastestvpnservice/screensTV/HomeScreenTV.kt

@@ -86,6 +86,7 @@ import com.vpn.fastestvpnservice.R
 import com.vpn.fastestvpnservice.beans.Protocol
 import com.vpn.fastestvpnservice.beans.Protocol
 import com.vpn.fastestvpnservice.beans.Server
 import com.vpn.fastestvpnservice.beans.Server
 import com.vpn.fastestvpnservice.beans.isDarkTheme
 import com.vpn.fastestvpnservice.beans.isDarkTheme
+import com.vpn.fastestvpnservice.beans.toChangeServer
 import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.interfaces.ServerCallbacksTV
 import com.vpn.fastestvpnservice.interfaces.ServerCallbacksTV
@@ -857,6 +858,7 @@ fun HomeTV(navHostController: NavHostController, settingsNavHostController: NavH
 //                            Toast
 //                            Toast
 //                                .makeText(context, "See All Pressed", Toast.LENGTH_SHORT)
 //                                .makeText(context, "See All Pressed", Toast.LENGTH_SHORT)
 //                                .show()
 //                                .show()
+                            toChangeServer.value = false
                             navHostController.navigate(
                             navHostController.navigate(
                                 ScreenTV.ServerListTV.route
                                 ScreenTV.ServerListTV.route
                             )
                             )
@@ -1008,6 +1010,7 @@ fun BoxScope.AddRowSmartTV(
                         isButtonFocused = it.isFocused
                         isButtonFocused = it.isFocused
                     }
                     }
                     .clickable {
                     .clickable {
+                        toChangeServer.value = true
                         navHostController.navigate(
                         navHostController.navigate(
                             ScreenTV.ServerListTV.route
                             ScreenTV.ServerListTV.route
                         )
                         )