mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Move parameter settings into advanced submenu
This commit is contained in:
parent
4ebd5efcbc
commit
5888f87fd9
@ -10,6 +10,7 @@ import androidx.navigation.compose.rememberNavController
|
|||||||
import org.futo.inputmethod.latin.R
|
import org.futo.inputmethod.latin.R
|
||||||
import org.futo.inputmethod.latin.uix.ErrorDialog
|
import org.futo.inputmethod.latin.uix.ErrorDialog
|
||||||
import org.futo.inputmethod.latin.uix.InfoDialog
|
import org.futo.inputmethod.latin.uix.InfoDialog
|
||||||
|
import org.futo.inputmethod.latin.uix.settings.pages.AdvancedParametersScreen
|
||||||
import org.futo.inputmethod.latin.uix.settings.pages.HomeScreen
|
import org.futo.inputmethod.latin.uix.settings.pages.HomeScreen
|
||||||
import org.futo.inputmethod.latin.uix.settings.pages.PredictiveTextScreen
|
import org.futo.inputmethod.latin.uix.settings.pages.PredictiveTextScreen
|
||||||
import org.futo.inputmethod.latin.uix.settings.pages.ThemeScreen
|
import org.futo.inputmethod.latin.uix.settings.pages.ThemeScreen
|
||||||
@ -38,6 +39,7 @@ fun SettingsNavigator(
|
|||||||
) {
|
) {
|
||||||
composable("home") { HomeScreen(navController) }
|
composable("home") { HomeScreen(navController) }
|
||||||
composable("predictiveText") { PredictiveTextScreen(navController) }
|
composable("predictiveText") { PredictiveTextScreen(navController) }
|
||||||
|
composable("advancedparams") { AdvancedParametersScreen(navController) }
|
||||||
composable("typing") { TypingScreen(navController) }
|
composable("typing") { TypingScreen(navController) }
|
||||||
composable("voiceInput") { VoiceInputScreen(navController) }
|
composable("voiceInput") { VoiceInputScreen(navController) }
|
||||||
composable("themes") { ThemeScreen(navController) }
|
composable("themes") { ThemeScreen(navController) }
|
||||||
|
@ -0,0 +1,73 @@
|
|||||||
|
package org.futo.inputmethod.latin.uix.settings.pages
|
||||||
|
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.platform.LocalContext
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.navigation.NavHostController
|
||||||
|
import androidx.navigation.compose.rememberNavController
|
||||||
|
import org.futo.inputmethod.latin.uix.THEME_KEY
|
||||||
|
import org.futo.inputmethod.latin.uix.settings.ScreenTitle
|
||||||
|
import org.futo.inputmethod.latin.uix.settings.ScrollableList
|
||||||
|
import org.futo.inputmethod.latin.uix.settings.SettingRadio
|
||||||
|
import org.futo.inputmethod.latin.uix.settings.Tip
|
||||||
|
import org.futo.inputmethod.latin.uix.settings.useDataStore
|
||||||
|
import org.futo.inputmethod.latin.uix.theme.selector.ThemePicker
|
||||||
|
import org.futo.inputmethod.latin.xlm.AutocorrectThresholdSetting
|
||||||
|
import org.futo.inputmethod.latin.xlm.BinaryDictTransformerWeightSetting
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Composable
|
||||||
|
fun AdvancedParametersScreen(navController: NavHostController = rememberNavController()) {
|
||||||
|
ScrollableList {
|
||||||
|
ScreenTitle("Advanced Parameters", showBack = true, navController)
|
||||||
|
|
||||||
|
val optionsWeight = mapOf(
|
||||||
|
Float.NEGATIVE_INFINITY to "always BinaryDictionary, except if blank",
|
||||||
|
0.0001f to "significantly favor BinaryDictionary, except if BinaryDictionary score < 0",
|
||||||
|
0.01f to "favor BinaryDictionary",
|
||||||
|
0.1f to "favor BinaryDictionary",
|
||||||
|
0.2f to "favor BinaryDictionary",
|
||||||
|
0.3f to "favor BinaryDictionary",
|
||||||
|
0.4f to "favor BinaryDictionary",
|
||||||
|
0.5f to "favor BinaryDictionary",
|
||||||
|
1.0f to "normal",
|
||||||
|
2.0f to "favor TransformerLM",
|
||||||
|
4.0f to "significantly favor TransformerLM",
|
||||||
|
Float.POSITIVE_INFINITY to "always TransformerLM"
|
||||||
|
)
|
||||||
|
val namesWeight = optionsWeight.map { "a = ${it.key} (${it.value})" }
|
||||||
|
SettingRadio(
|
||||||
|
title = "Weight of Transformer LM suggestions with respect to BinaryDictionary",
|
||||||
|
options = optionsWeight.keys.toList(),
|
||||||
|
optionNames = namesWeight,
|
||||||
|
setting = BinaryDictTransformerWeightSetting
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Tip("Adjust the autocorrect threshold below. A lower threshold will autocorrect more often (and miscorrect more often), while a higher threshold will autocorrect less often (and miscorrect less often)" )
|
||||||
|
val options = mapOf(
|
||||||
|
0.0f to "none (94.6% : 5.4%)",
|
||||||
|
1.0f to "very low (93.4% : 4.3%)",
|
||||||
|
2.0f to "very low (91.2% : 2.4%)",
|
||||||
|
4.0f to "low (87.3% : 1.4%)",
|
||||||
|
6.0f to "low (no data)",
|
||||||
|
8.0f to "medium (82.3% : 0.9%)",
|
||||||
|
10.0f to "medium (80.1% : 0.8%)",
|
||||||
|
14.0f to "medium (no data)",
|
||||||
|
18.0f to "high (74.8% : 0.5%)",
|
||||||
|
25.0f to "high (71.6% : 0.4%)",
|
||||||
|
50.0f to "very high (63.5% : 0.3%)",
|
||||||
|
100.0f to "very high (54.7% : 0.2%)"
|
||||||
|
)
|
||||||
|
val names = options.map { "T = ${it.key}" }
|
||||||
|
SettingRadio(
|
||||||
|
title = "Autocorrect Threshold",
|
||||||
|
options = options.keys.toList(),
|
||||||
|
optionNames = names,
|
||||||
|
setting = AutocorrectThresholdSetting
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
@ -46,6 +46,13 @@ fun PredictiveTextScreen(navController: NavHostController = rememberNavControlle
|
|||||||
icon = painterResource(id = R.drawable.cpu)
|
icon = painterResource(id = R.drawable.cpu)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
NavigationItem(
|
||||||
|
title = "Advanced Parameters",
|
||||||
|
style = NavigationItemStyle.HomeSecondary,
|
||||||
|
navigate = { navController.navigate("advancedparams") },
|
||||||
|
icon = painterResource(id = R.drawable.cpu)
|
||||||
|
)
|
||||||
|
|
||||||
Tip("Note: Transformer LM is in alpha state")
|
Tip("Note: Transformer LM is in alpha state")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,47 +122,5 @@ fun PredictiveTextScreen(navController: NavHostController = rememberNavControlle
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(transformerLmEnabled) {
|
|
||||||
val optionsWeight = mapOf(
|
|
||||||
Float.NEGATIVE_INFINITY to "always BinaryDictionary, except if blank",
|
|
||||||
0.0001f to "significantly favor BinaryDictionary",
|
|
||||||
0.5f to "favor BinaryDictionary",
|
|
||||||
1.0f to "normal",
|
|
||||||
2.0f to "favor TransformerLM",
|
|
||||||
4.0f to "significantly favor TransformerLM",
|
|
||||||
Float.POSITIVE_INFINITY to "always TransformerLM"
|
|
||||||
)
|
|
||||||
val namesWeight = optionsWeight.map { "a = ${it.key} (${it.value})" }
|
|
||||||
SettingRadio(
|
|
||||||
title = "Weight of Transformer LM suggestions with respect to BinaryDictionary",
|
|
||||||
options = optionsWeight.keys.toList(),
|
|
||||||
optionNames = namesWeight,
|
|
||||||
setting = BinaryDictTransformerWeightSetting
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
Tip("Adjust the autocorrect threshold below. A lower threshold will autocorrect more often (and miscorrect more often), while a higher threshold will autocorrect less often (and miscorrect less often)" )
|
|
||||||
val options = mapOf(
|
|
||||||
0.0f to "none (94.6% : 5.4%)",
|
|
||||||
1.0f to "very low (93.4% : 4.3%)",
|
|
||||||
2.0f to "very low (91.2% : 2.4%)",
|
|
||||||
4.0f to "low (87.3% : 1.4%)",
|
|
||||||
6.0f to "low (no data)",
|
|
||||||
8.0f to "medium (82.3% : 0.9%)",
|
|
||||||
10.0f to "medium (80.1% : 0.8%)",
|
|
||||||
14.0f to "medium (no data)",
|
|
||||||
18.0f to "high (74.8% : 0.5%)",
|
|
||||||
25.0f to "high (71.6% : 0.4%)",
|
|
||||||
50.0f to "very high (63.5% : 0.3%)",
|
|
||||||
100.0f to "very high (54.7% : 0.2%)"
|
|
||||||
)
|
|
||||||
val names = options.map { "T = ${it.key}" }
|
|
||||||
SettingRadio(
|
|
||||||
title = "Autocorrect Threshold",
|
|
||||||
options = options.keys.toList(),
|
|
||||||
optionNames = names,
|
|
||||||
setting = AutocorrectThresholdSetting
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user