Parcourir la source

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 il y a 7 mois
Parent
commit
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.constants.smartConnect
 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.onServer
 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(
             modifier = Modifier
@@ -130,27 +133,21 @@ fun ServerItemTV(
                     }
                     .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)
                 else Utils.getDrawableGray(context, server.iso)
@@ -382,7 +379,10 @@ fun FavoriteServerItemTV(
 //            server
 //        )
 
+
         navHostController.popBackStack(BottomBarScreen.Home.route, false)
+        isFirstItemPressed.value = true
+        isFirstItemFocused.value = true
     }
 
     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.Server
 import com.vpn.fastestvpnservice.beans.isDarkTheme
+import com.vpn.fastestvpnservice.beans.toChangeServer
 import com.vpn.fastestvpnservice.constants.smartConnect
 import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
 import com.vpn.fastestvpnservice.interfaces.ServerCallbacksTV
@@ -857,6 +858,7 @@ fun HomeTV(navHostController: NavHostController, settingsNavHostController: NavH
 //                            Toast
 //                                .makeText(context, "See All Pressed", Toast.LENGTH_SHORT)
 //                                .show()
+                            toChangeServer.value = false
                             navHostController.navigate(
                                 ScreenTV.ServerListTV.route
                             )
@@ -1008,6 +1010,7 @@ fun BoxScope.AddRowSmartTV(
                         isButtonFocused = it.isFocused
                     }
                     .clickable {
+                        toChangeServer.value = true
                         navHostController.navigate(
                             ScreenTV.ServerListTV.route
                         )