Add themed icons to icon picker, add option to force themed icons

This commit is contained in:
MM20
2022-07-31 21:45:00 +02:00
parent b979c81501
commit 389b33aebe
12 changed files with 260 additions and 143 deletions
@@ -60,7 +60,7 @@ class CustomizeSearchableSheetVM(
debounceSearchJob = launch {
delay(1000)
isSearchingIcons.value = true
iconSearchResults.value = iconRepository.searchIconPackIcon(query)
iconSearchResults.value = iconRepository.searchCustomIcons(query)
isSearchingIcons.value = false
}
}
@@ -199,6 +199,16 @@ fun AppearanceSettingsScreen() {
viewModel.setThemedIcons(it)
}
)
val forceThemedIcons by viewModel.forceThemedIcons.observeAsState()
SwitchPreference(
title = stringResource(R.string.preference_force_themed_icons),
summary = stringResource(R.string.preference_force_themed_icons_summary),
value = forceThemedIcons == true,
enabled = themedIcons == true,
onValueChanged = {
viewModel.setForceThemedIcons(it)
}
)
val iconPack by viewModel.iconPack.observeAsState()
val installedIconPacks by viewModel.installedIconPacks.observeAsState(emptyList())
@@ -165,6 +165,20 @@ class AppearanceSettingsScreenVM : ViewModel(), KoinComponent {
}
}
val forceThemedIcons = dataStore.data.map { it.icons.forceThemed }.asLiveData()
fun setForceThemedIcons(forceThemedIcons: Boolean) {
viewModelScope.launch {
dataStore.updateData {
it.toBuilder()
.setIcons(
it.icons.toBuilder()
.setForceThemed(forceThemedIcons)
)
.build()
}
}
}
val installedIconPacks: LiveData<List<IconPack>> = liveData {
emit(
listOf(