Add calendar plugins

This commit is contained in:
MM20
2024-08-04 17:40:46 +02:00
parent c7987aabcd
commit 7479c7f401
36 changed files with 1260 additions and 351 deletions
@@ -53,7 +53,9 @@ data class LauncherSettingsData internal constructor(
val contactSearchEnabled: Boolean = true,
@Deprecated("Use calendarSearchProviders `local` instead")
val calendarSearchEnabled: Boolean = true,
val calendarSearchProviders: Set<String> = setOf("local"),
val shortcutSearchEnabled: Boolean = true,
@@ -5,13 +5,20 @@ import kotlinx.coroutines.flow.map
class CalendarSearchSettings internal constructor(
private val dataStore: LauncherDataStore,
){
val enabled
get() = dataStore.data.map { it.calendarSearchEnabled }
) {
val providers
get() = dataStore.data.map { it.calendarSearchProviders }
fun setEnabled(enabled: Boolean) {
val enabledProviders
get() = dataStore.data.map { it.calendarSearchProviders }
fun setProviderEnabled(provider: String, enabled: Boolean) {
dataStore.update {
it.copy(calendarSearchEnabled = enabled)
if (enabled) {
it.copy(calendarSearchProviders = it.calendarSearchProviders + provider)
} else {
it.copy(calendarSearchProviders = it.calendarSearchProviders - provider)
}
}
}
}