|
@@ -24,6 +24,7 @@ import androidx.compose.runtime.livedata.observeAsState
|
|
|
import androidx.compose.runtime.mutableIntStateOf
|
|
|
import androidx.compose.runtime.mutableStateOf
|
|
|
import androidx.compose.runtime.remember
|
|
|
+import androidx.compose.runtime.rememberCoroutineScope
|
|
|
import androidx.compose.runtime.setValue
|
|
|
import androidx.compose.ui.Alignment
|
|
|
import androidx.compose.ui.Modifier
|
|
@@ -46,12 +47,14 @@ import com.vpn.fastestvpnservice.R
|
|
|
import com.vpn.fastestvpnservice.beans.SubscriptionPackageList
|
|
|
import com.vpn.fastestvpnservice.beans.subscriptionPackageList
|
|
|
import com.vpn.fastestvpnservice.viewmodels.SubscriptionViewModel
|
|
|
+import kotlinx.coroutines.launch
|
|
|
import java.util.Random
|
|
|
|
|
|
var getPosition: Int = 0
|
|
|
|
|
|
@Composable
|
|
|
fun SubscriptionPackageItem(item: SubscriptionPackageList, position: Int, activity: ComponentActivity) {
|
|
|
+ Log.d("test_plan_product", "SPI[$position] -> ${item.packageDuration} ${item.isSelected.value}")
|
|
|
|
|
|
val context = LocalContext.current
|
|
|
var selectedPosition by remember { mutableIntStateOf(0) }
|
|
@@ -62,6 +65,8 @@ fun SubscriptionPackageItem(item: SubscriptionPackageList, position: Int, activi
|
|
|
SubscriptionViewModel(context = context, activity)
|
|
|
}
|
|
|
|
|
|
+ val scope = rememberCoroutineScope()
|
|
|
+
|
|
|
// val num4 = subscriptionViewModel.mutableLiveDataNumber.value
|
|
|
// Log.d("test_num_viewmodel", "num4 = $num4 , random = $random")
|
|
|
|
|
@@ -83,68 +88,31 @@ fun SubscriptionPackageItem(item: SubscriptionPackageList, position: Int, activi
|
|
|
shape = RoundedCornerShape(24.dp),
|
|
|
color = Color.White
|
|
|
)
|
|
|
- .clickable {
|
|
|
-// subscriptionViewModel.setNumber(random)
|
|
|
- }
|
|
|
.pointerInput(Unit) {
|
|
|
detectTapGestures {
|
|
|
-
|
|
|
-// if (selectedPosition == position)
|
|
|
-// {
|
|
|
-// Log.d("test_plan", "True : selectedPosition = $selectedPosition position = $position" )
|
|
|
-// }
|
|
|
-// else {
|
|
|
-// Log.d("test_plan", "False : selectedPosition = $selectedPosition position = $position" )
|
|
|
-// selectedPosition = position
|
|
|
-// Log.d("test_plan", "Update selectedPosition: $selectedPosition" )
|
|
|
-// subscriptionPackageList.forEachIndexed { index, subscriptionPackageList ->
|
|
|
-// if (selectedPosition == index) {
|
|
|
-// Log.d("test_plan", "True Inside : selectedPosition = $selectedPosition index = $index" )
|
|
|
-// subscriptionPackageList.isSelected.value = true
|
|
|
-// }
|
|
|
-// else {
|
|
|
-// Log.d("test_plan", "False Inside : selectedPosition = $selectedPosition index = $index" )
|
|
|
-// subscriptionPackageList.isSelected.value = false
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
+ Log.d("test_plan", "Same position ${item.packageDuration} ${item.isSelected.value} :: selectedPosition = $selectedPosition position = $position")
|
|
|
if (!item.isSelected.value) {
|
|
|
-// Log.d("test_plan", "False : selectedPosition = $selectedPosition position = $position" )
|
|
|
- selectedPosition = position
|
|
|
+ selectedPosition = position
|
|
|
+ Log.d("test_plan", "False : selectedPosition = $selectedPosition position = $position" )
|
|
|
|
|
|
// uncomment this below
|
|
|
- subscriptionViewModel.mutableLiveDataProducts.value?.let { it1 ->
|
|
|
- subscriptionViewModel.setProductsData(
|
|
|
- it1
|
|
|
- )
|
|
|
- }
|
|
|
-
|
|
|
-// val featuresSize = subscriptionViewModel.liveDataProducts.value
|
|
|
-// Log.d(
|
|
|
-// "test_api_response_p",
|
|
|
-// "Products selectedPosition = $selectedPosition ," +
|
|
|
-// "features size = ${featuresSize?.data?.get(selectedPosition)?.features?.size}"
|
|
|
-// )
|
|
|
+// subscriptionViewModel.mutableLiveDataProducts.value?.let { it1 ->
|
|
|
+// subscriptionViewModel.setProductsData(
|
|
|
+// it1
|
|
|
+// )
|
|
|
+// }
|
|
|
|
|
|
- subscriptionPackageList.forEachIndexed { index, subscriptionPackageList ->
|
|
|
-// if (selectedPosition == index) {
|
|
|
-// Log.d("test_plan", "True Inside : selectedPosition = $selectedPosition index = $index" )
|
|
|
-// subscriptionPackageList.isSelected.value = true
|
|
|
-// }
|
|
|
-// else {
|
|
|
-// Log.d("test_plan", "False Inside : selectedPosition = $selectedPosition index = $index" )
|
|
|
-// subscriptionPackageList.isSelected.value = false
|
|
|
-// }
|
|
|
-// Log.d("test_plan", "Update ${subscriptionPackageList.packageDuration} $index $position" )
|
|
|
+// subscriptionViewModel.setNumber(random)
|
|
|
|
|
|
- subscriptionPackageList.isSelected.value = index == position
|
|
|
+ subscriptionPackageList.forEachIndexed { index, subscriptionPackageList ->
|
|
|
|
|
|
- getPosition = position
|
|
|
-// Log.d("test_plan", "Update ${subscriptionPackageList.packageDuration} ${subscriptionPackageList.isSelected.value}" )
|
|
|
+ Log.d("test_plan", "Update ${subscriptionPackageList.packageDuration} $index $position" )
|
|
|
|
|
|
- }
|
|
|
+ subscriptionPackageList.isSelected.value = index == position
|
|
|
|
|
|
+ getPosition = position
|
|
|
+ Log.d("test_plan", "Update[2] ${subscriptionPackageList.packageDuration} ${subscriptionPackageList.isSelected.value}" )
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -164,7 +132,7 @@ fun SubscriptionPackageItem(item: SubscriptionPackageList, position: Int, activi
|
|
|
modifier = Modifier
|
|
|
.fillMaxWidth()
|
|
|
) {
|
|
|
- Text(text = item.packageDuration,
|
|
|
+ Text(text = item.packageDuration + " : " + item.isSelected.value + " : " + selectedPosition,
|
|
|
style = TextStyle(
|
|
|
color = if (item.isSelected.value) colorResource(
|
|
|
id = R.color.blue_text) else colorResource(
|