|
@@ -520,8 +520,9 @@ fun ColumnScope.ShowAllLocationsList(
|
|
|
navHostController: NavHostController
|
|
|
) {
|
|
|
val serverData = basePreferenceHelper.getServerData()
|
|
|
- val pagerState = rememberPagerState(pageCount = { serverData.size })
|
|
|
+ val pagerState = rememberPagerState(pageCount = {serverData.size})
|
|
|
val selectedIndex by remember { derivedStateOf { pagerState.currentPage } }
|
|
|
+ var selectedTabIndex by rememberSaveable { mutableStateOf(0) }
|
|
|
var indexTab = serverListViewModel.liveDataPagerIndex.observeAsState().value
|
|
|
val scope = rememberCoroutineScope()
|
|
|
val data = basePreferenceHelper.getServerData()
|
|
@@ -541,7 +542,8 @@ fun ColumnScope.ShowAllLocationsList(
|
|
|
indicator = { selectedTab ->
|
|
|
TabRowDefaults.Indicator(
|
|
|
modifier = Modifier.tabIndicatorOffset(selectedTab[selectedIndex]),
|
|
|
- color = colorResource(id = R.color.light_blue_2)
|
|
|
+ color = colorResource(id = R.color.light_blue_2),
|
|
|
+ height = 1.dp
|
|
|
)
|
|
|
},
|
|
|
// divider = {}
|
|
@@ -560,9 +562,10 @@ fun ColumnScope.ShowAllLocationsList(
|
|
|
Tab(
|
|
|
selected = selectedIndex == index1,
|
|
|
onClick = {
|
|
|
- Log.d("serverTabPager_index", "$index1")
|
|
|
+// Log.d("serverTabPager_index", "$index1")
|
|
|
// serverListViewModel.setPagerIndex(index1)
|
|
|
scope.launch {
|
|
|
+ selectedTabIndex = index1
|
|
|
pagerState.animateScrollToPage(index1)
|
|
|
// val filterServersData =
|
|
|
// if (data[index1].name?.lowercase().toString() == "servers") {
|
|
@@ -589,8 +592,9 @@ fun ColumnScope.ShowAllLocationsList(
|
|
|
selectedContentColor = Color.White,
|
|
|
unselectedContentColor = Color.White,
|
|
|
text = {
|
|
|
+ val locationTabName = if (locationTab.name?.lowercase() == "servers") "Countries" else locationTab.name
|
|
|
Text(
|
|
|
- text = locationTab.name!!,
|
|
|
+ text = locationTabName ?: "",
|
|
|
style = MaterialTheme.typography.customTypography2.labelMedium,
|
|
|
color = color,
|
|
|
modifier = Modifier
|
|
@@ -612,11 +616,6 @@ fun ColumnScope.ShowAllLocationsList(
|
|
|
// var isServersListExpanded by rememberSaveable { mutableStateOf(List(data.size) {true}) }
|
|
|
val isServersListExpanded by rememberSaveable { mutableStateOf(true) }
|
|
|
|
|
|
-// val rotationState by animateFloatAsState(
|
|
|
-// targetValue = if (isCountriesExpanded) 180f else 0f,
|
|
|
-// label = if (isCountriesExpanded) "Show Less" else "Show More"
|
|
|
-// )
|
|
|
-
|
|
|
HorizontalPager(
|
|
|
state = pagerState,
|
|
|
modifier = Modifier
|
|
@@ -625,57 +624,77 @@ fun ColumnScope.ShowAllLocationsList(
|
|
|
.background(Color.Transparent),
|
|
|
userScrollEnabled = false
|
|
|
) { serverTabPager ->
|
|
|
- Log.d("serverTabPager = ", "$serverTabPager")
|
|
|
CompositionLocalProvider(
|
|
|
LocalOverscrollConfiguration provides null
|
|
|
) {
|
|
|
- Column(
|
|
|
- modifier = Modifier.fillMaxSize()
|
|
|
- ) {
|
|
|
-// var serverTitle by rememberSaveable { mutableStateOf("") }
|
|
|
-// var icon by rememberSaveable { mutableStateOf(0) }
|
|
|
-
|
|
|
-// serverTitle = serverData[serverTabPager].name!!
|
|
|
-// icon = if (isServersListExpanded) R.drawable.dragarrow3x
|
|
|
-// else R.drawable.downarrow3x
|
|
|
-
|
|
|
-// ShowHeaderItem(serverTitle, icon, serverTabPager) {
|
|
|
-// isServersListExpanded = !isServersListExpanded
|
|
|
-//
|
|
|
-//// isServersListExpanded = isServersListExpanded.toMutableList().also {
|
|
|
-//// it[serverTabPager] = !isServersListExpanded[serverTabPager]
|
|
|
-//// }
|
|
|
-// }
|
|
|
+ Column(modifier = Modifier.fillMaxSize()) {
|
|
|
+ Log.d("serverTabPager = ", "serverTabPager: $serverTabPager , selectedTabIndex: $selectedTabIndex")
|
|
|
|
|
|
CompositionLocalProvider(
|
|
|
LocalOverscrollConfiguration provides null
|
|
|
- ) {
|
|
|
- Log.d("test_compose_servers", "serverTabPager = $serverTabPager")
|
|
|
- filterServersList = if (
|
|
|
- data[serverTabPager].name?.lowercase().toString() == "servers") {
|
|
|
- data.get(serverTabPager).servers?.let {
|
|
|
+ ) { filterServersList = if (
|
|
|
+ data[selectedTabIndex].name?.lowercase().toString() == "servers") {
|
|
|
+ data.get(selectedTabIndex).servers?.let {
|
|
|
serverListViewModel.filterServersByISO(
|
|
|
it, isAlphabetList.value
|
|
|
)
|
|
|
}!!
|
|
|
} else {
|
|
|
- data.get(serverTabPager).servers?.let {
|
|
|
+ data.get(selectedTabIndex).servers?.let {
|
|
|
serverListViewModel.filterServersByStreamingServers(
|
|
|
it, isAlphabetList.value
|
|
|
)
|
|
|
}!!
|
|
|
}
|
|
|
|
|
|
+ Log.d("filterServersList", "filterServersList: ${filterServersList.size}")
|
|
|
+
|
|
|
LazyColumn() {
|
|
|
items(items = filterServersList, itemContent = {country ->
|
|
|
- CountryItem(server = country, data[serverTabPager].name!!,
|
|
|
- navHostController )
|
|
|
+ ServerItem(server = country, navHostController )
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
+// var serverTitle by rememberSaveable { mutableStateOf("") }
|
|
|
+// var icon by rememberSaveable { mutableStateOf(0) }
|
|
|
+
|
|
|
+// serverTitle = serverData[serverTabPager].name!!
|
|
|
+// icon = if (isServersListExpanded) R.drawable.dragarrow3x
|
|
|
+// else R.drawable.downarrow3x
|
|
|
+
|
|
|
+// ShowHeaderItem(serverTitle, icon, serverTabPager) {
|
|
|
+// isServersListExpanded = !isServersListExpanded
|
|
|
+//
|
|
|
+//// isServersListExpanded = isServersListExpanded.toMutableList().also {
|
|
|
+//// it[serverTabPager] = !isServersListExpanded[serverTabPager]
|
|
|
+//// }
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ val splashViewModel: SplashViewModel = viewModel{
|
|
|
+ SplashViewModel(context)
|
|
|
+ }
|
|
|
+ val searchListViewModel: SearchListViewModel = viewModel{
|
|
|
+ SearchListViewModel(context, serverListViewModel, splashViewModel)
|
|
|
+ }
|
|
|
+
|
|
|
+// CompositionLocalProvider(
|
|
|
+// LocalOverscrollConfiguration provides null
|
|
|
+// ) {
|
|
|
+// LazyColumn(
|
|
|
+// modifier = Modifier
|
|
|
+// .padding(top = 0.dp, bottom = 0.dp),
|
|
|
+// ) {
|
|
|
+// val searchServersList = searchListViewModel.countriesList.value
|
|
|
+// items(items = searchServersList!!) { server ->
|
|
|
+//// ServerSearchItem(server, navHostController = navHostController)
|
|
|
+// CountryItem(server = server, category = "", navHostController = navHostController)
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
|