Browse Source

Showing messag on snackbar incase of logout and delete API not working on TV

Khubaib 7 months ago
parent
commit
ca52c5c89b

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

@@ -36,6 +36,7 @@ import androidx.compose.material3.ButtonDefaults
 import androidx.compose.material3.CircularProgressIndicator
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.SnackbarHostState
 import androidx.compose.material3.Surface
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
@@ -86,10 +87,12 @@ import com.vpn.fastestvpnservice.utils.VPNConnectionsUtil
 import com.vpn.fastestvpnservice.utils.isTablet
 import com.vpn.fastestvpnservice.viewmodels.AccountViewModel
 import com.vpn.fastestvpnservice.viewmodels.HomeViewModel
+import com.vpn.fastestvpnservice.views.ShowCustomSnackBar
 import com.vpn.fastestvpnservice.views.initializeMutableItems
 import com.vpn.fastestvpnservice.widgets.SimpleAppWidget
 import de.blinkt.openvpn.core.App
 import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
 
 @OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class)
 @Composable
@@ -102,6 +105,8 @@ fun AccountTV(navHostController: NavHostController,
     val basePreferenceHelper = BasePreferenceHelper(context)
     val accountViewModel: AccountViewModel = viewModel()
     val focusRequester1 = remember { FocusRequester() }
+    val snackBarStateRed = remember { SnackbarHostState() }
+    val coroutineScope = rememberCoroutineScope()
 
     BackHandler {
 //        Toast.makeText(
@@ -132,6 +137,8 @@ fun AccountTV(navHostController: NavHostController,
             window.statusBarColor = Color.Transparent.toArgb()
             window.navigationBarColor = Color.Transparent.toArgb()
 
+            ShowCustomSnackBar(snackBarStateRed, R.color.Red, R.color.white)
+
             if (isAccountScreenPressed.value) {
                 LaunchedEffect(key1 = Unit) {
                     focusRequester1.requestFocus()
@@ -300,9 +307,10 @@ fun AccountTV(navHostController: NavHostController,
                     context.sendBroadcast(widgetIntent)
                 }
                 else {
-                    Log.d("test_api_response","Logout false: $logoutResponse")
                     accountViewModel.mutableLiveDataLogoutStatus.value = false
-                    Toast.makeText(context, logoutResponse.toString(), Toast.LENGTH_SHORT).show()
+                    coroutineScope.launch {
+                        snackBarStateRed.showSnackbar(context.getString(R.string.something_went_wrong))
+                    }
                 }
                 accountViewModel.mutableLiveDataLogout.value = null
             }
@@ -324,9 +332,10 @@ fun AccountTV(navHostController: NavHostController,
                     settingsNavHostController.navigate(ScreenTV.LoginTV.route)
                 }
                 else {
-                    Log.d("test_api_response","Delete false: ${deleteResponse.status}")
                     accountViewModel.mutableLiveDataDeleteStatus.value = false
-                    Toast.makeText(context, deleteResponse.status.toString(), Toast.LENGTH_SHORT).show()
+                    coroutineScope.launch {
+                        snackBarStateRed.showSnackbar(context.getString(R.string.something_went_wrong))
+                    }
                 }
                 accountViewModel.mutableLiveDataDelete.value = null
             }