diff --git a/app/src/main/java/helium314/keyboard/latin/settings/AdvancedSettingsFragment.kt b/app/src/main/java/helium314/keyboard/latin/settings/AdvancedSettingsFragment.kt index 74a0137e1..df8173ca7 100644 --- a/app/src/main/java/helium314/keyboard/latin/settings/AdvancedSettingsFragment.kt +++ b/app/src/main/java/helium314/keyboard/latin/settings/AdvancedSettingsFragment.kt @@ -542,13 +542,13 @@ class AdvancedSettingsFragment : SubScreenFragment() { companion object { @Suppress("UNCHECKED_CAST") // it is checked... but whatever (except string set, because can't check for that)) - private fun settingsToJsonStream(settings: Map, out: OutputStream) { - val booleans = settings.filterValues { it is Boolean } as Map - val ints = settings.filterValues { it is Int } as Map - val longs = settings.filterValues { it is Long } as Map - val floats = settings.filterValues { it is Float } as Map - val strings = settings.filterValues { it is String } as Map - val stringSets = settings.filterValues { it is Set<*> } as Map> + private fun settingsToJsonStream(settings: Map, out: OutputStream) { + val booleans = settings.filter { it.key is String && it.value is Boolean } as Map + val ints = settings.filter { it.key is String && it.value is Int } as Map + val longs = settings.filter { it.key is String && it.value is Long } as Map + val floats = settings.filter { it.key is String && it.value is Float } as Map + val strings = settings.filter { it.key is String && it.value is String } as Map + val stringSets = settings.filter { it.key is String && it.value is Set<*> } as Map> // now write out.write("boolean settings\n".toByteArray()) out.write(Json.encodeToString(booleans).toByteArray())