feat: add polar experiment
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
d0ccb4b568
commit
0eaa272054
|
|
@ -27,6 +27,7 @@ class ExperimentInstance(default: Boolean) {
|
||||||
*/
|
*/
|
||||||
object Experiments {
|
object Experiments {
|
||||||
val useKotlinBasedMarkdownRenderer = ExperimentInstance(false)
|
val useKotlinBasedMarkdownRenderer = ExperimentInstance(false)
|
||||||
|
val usePolar = ExperimentInstance(false)
|
||||||
|
|
||||||
suspend fun hydrateWithKv() {
|
suspend fun hydrateWithKv() {
|
||||||
val kvStorage = KVStorage(RevoltApplication.instance)
|
val kvStorage = KVStorage(RevoltApplication.instance)
|
||||||
|
|
@ -38,7 +39,10 @@ object Experiments {
|
||||||
}
|
}
|
||||||
|
|
||||||
useKotlinBasedMarkdownRenderer.setEnabled(
|
useKotlinBasedMarkdownRenderer.setEnabled(
|
||||||
kvStorage.getBoolean("exp/useKotlinBasedMarkdownRenderer") ?: false
|
kvStorage.getBoolean("exp/useKotlinBasedMarkdownRenderer") == true
|
||||||
|
)
|
||||||
|
usePolar.setEnabled(
|
||||||
|
kvStorage.getBoolean("exp/usePolar") == true
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -50,6 +50,16 @@ class ExperimentsSettingsScreenViewModel : ViewModel() {
|
||||||
useKotlinMdRendererChecked.value = value
|
useKotlinMdRendererChecked.value = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val usePolarChecked = mutableStateOf(false)
|
||||||
|
|
||||||
|
fun setUsePolarChecked(value: Boolean) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
kv.set("exp/usePolar", value)
|
||||||
|
Experiments.usePolar.setEnabled(value)
|
||||||
|
usePolarChecked.value = value
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
@ -77,12 +87,28 @@ fun ExperimentsSettingsScreen(
|
||||||
trailingContent = {
|
trailingContent = {
|
||||||
Switch(
|
Switch(
|
||||||
checked = viewModel.useKotlinMdRendererChecked.value,
|
checked = viewModel.useKotlinMdRendererChecked.value,
|
||||||
onCheckedChange = viewModel::setUseKotlinMdRendererChecked
|
onCheckedChange = null
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
modifier = Modifier.clickable { viewModel.setUseKotlinMdRendererChecked(!viewModel.useKotlinMdRendererChecked.value) }
|
modifier = Modifier.clickable { viewModel.setUseKotlinMdRendererChecked(!viewModel.useKotlinMdRendererChecked.value) }
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ListItem(
|
||||||
|
headlineContent = {
|
||||||
|
Text("Threefold Root User Interface")
|
||||||
|
},
|
||||||
|
supportingContent = {
|
||||||
|
Text("Polar")
|
||||||
|
},
|
||||||
|
trailingContent = {
|
||||||
|
Switch(
|
||||||
|
checked = viewModel.usePolarChecked.value,
|
||||||
|
onCheckedChange = null
|
||||||
|
)
|
||||||
|
},
|
||||||
|
modifier = Modifier.clickable { viewModel.setUsePolarChecked(!viewModel.usePolarChecked.value) }
|
||||||
|
)
|
||||||
|
|
||||||
Subcategory(
|
Subcategory(
|
||||||
title = {
|
title = {
|
||||||
Text("Disable experiments")
|
Text("Disable experiments")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue