Update: Link searchQuery to Pages

This commit is contained in:
machiav3lli 2022-09-18 15:20:38 +02:00
parent b35ffb327e
commit f206d4792c
3 changed files with 35 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
@ -24,6 +25,9 @@ import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX
import com.machiav3lli.fdroid.utility.isDarkTheme import com.machiav3lli.fdroid.utility.isDarkTheme
import com.machiav3lli.fdroid.utility.onLaunchClick import com.machiav3lli.fdroid.utility.onLaunchClick
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@Composable @Composable
fun ExplorePage(viewModel: MainNavFragmentViewModelX) { fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
@ -38,6 +42,15 @@ fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
} }
val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray()) val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray())
SideEffect {
CoroutineScope(Dispatchers.IO).launch {
mainActivityX.searchQuery.collect { newQuery ->
if (newQuery != viewModel.searchQuery.value)
viewModel.searchQuery.postValue(newQuery)
}
}
}
AppTheme( AppTheme(
darkTheme = when (Preferences[Preferences.Key.Theme]) { darkTheme = when (Preferences[Preferences.Key.Theme]) {
is Preferences.Theme.System -> isSystemInDarkTheme() is Preferences.Theme.System -> isSystemInDarkTheme()

View File

@ -20,6 +20,7 @@ import androidx.compose.material3.SuggestionChip
import androidx.compose.material3.SuggestionChipDefaults import androidx.compose.material3.SuggestionChipDefaults
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
@ -42,6 +43,9 @@ import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX
import com.machiav3lli.fdroid.utility.isDarkTheme import com.machiav3lli.fdroid.utility.isDarkTheme
import com.machiav3lli.fdroid.utility.onLaunchClick import com.machiav3lli.fdroid.utility.onLaunchClick
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
@ -57,6 +61,15 @@ fun InstalledPage(viewModel: MainNavFragmentViewModelX) {
} }
val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray()) val favorites by mainActivityX.db.extrasDao.favoritesLive.observeAsState(emptyArray())
SideEffect {
CoroutineScope(Dispatchers.IO).launch {
mainActivityX.searchQuery.collect { newQuery ->
if (newQuery != viewModel.searchQuery.value)
viewModel.searchQuery.postValue(newQuery)
}
}
}
AppTheme( AppTheme(
darkTheme = when (Preferences[Preferences.Key.Theme]) { darkTheme = when (Preferences[Preferences.Key.Theme]) {
is Preferences.Theme.System -> isSystemInDarkTheme() is Preferences.Theme.System -> isSystemInDarkTheme()

View File

@ -29,6 +29,9 @@ import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX import com.machiav3lli.fdroid.ui.viewmodels.MainNavFragmentViewModelX
import com.machiav3lli.fdroid.utility.isDarkTheme import com.machiav3lli.fdroid.utility.isDarkTheme
import com.machiav3lli.fdroid.utility.onLaunchClick import com.machiav3lli.fdroid.utility.onLaunchClick
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@Composable @Composable
fun LatestPage(viewModel: MainNavFragmentViewModelX) { fun LatestPage(viewModel: MainNavFragmentViewModelX) {
@ -45,6 +48,12 @@ fun LatestPage(viewModel: MainNavFragmentViewModelX) {
SideEffect { SideEffect {
mainActivityX.syncConnection.bind(context) mainActivityX.syncConnection.bind(context)
CoroutineScope(Dispatchers.IO).launch {
mainActivityX.searchQuery.collect { newQuery ->
if (newQuery != viewModel.searchQuery.value)
viewModel.searchQuery.postValue(newQuery)
}
}
} }
AppTheme( AppTheme(