Skip to content
Snippets Groups Projects
Commit 883f8c72 authored by Aleksandras Kostarevas's avatar Aleksandras Kostarevas
Browse files

Add inline keyboard dev screen

parent 2c517853
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,6 @@ package org.futo.inputmethod.latin.uix.settings
import androidx.compose.animation.ExitTransition
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.res.stringResource
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
......@@ -17,6 +16,7 @@ import org.futo.inputmethod.latin.uix.settings.pages.AlreadyPaidDialog
import org.futo.inputmethod.latin.uix.settings.pages.BlacklistScreen
import org.futo.inputmethod.latin.uix.settings.pages.CreditsScreen
import org.futo.inputmethod.latin.uix.settings.pages.DevEditTextVariationsScreen
import org.futo.inputmethod.latin.uix.settings.pages.DevKeyboardScreen
import org.futo.inputmethod.latin.uix.settings.pages.DevLayoutEdit
import org.futo.inputmethod.latin.uix.settings.pages.DevLayoutEditor
import org.futo.inputmethod.latin.uix.settings.pages.DevLayoutList
......@@ -69,6 +69,7 @@ fun SettingsNavigator(
composable("devtextedit") { DevEditTextVariationsScreen(navController) }
composable("devlayouts") { DevLayoutList(navController) }
composable("devlayouteditor") { DevLayoutEditor(navController) }
composable("devkeyboard") { DevKeyboardScreen(navController) }
composable("devlayoutedit/{i}") { DevLayoutEdit(navController, it.arguments!!.getString("i")!!.toInt()) }
composable("blacklist") { BlacklistScreen(navController) }
composable("payment") { PaymentScreen(navController) { navController.navigateUp() } }
......
package org.futo.inputmethod.latin.uix.settings.pages
import androidx.compose.foundation.layout.Box
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner
......@@ -16,9 +17,12 @@ import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.futo.inputmethod.latin.BuildConfig
import org.futo.inputmethod.latin.R
import org.futo.inputmethod.latin.uix.AndroidTextInput
import org.futo.inputmethod.latin.uix.DebugOnly
import org.futo.inputmethod.latin.uix.HiddenKeysSetting
import org.futo.inputmethod.latin.uix.OldStyleActionsBar
import org.futo.inputmethod.latin.uix.SettingsKey
import org.futo.inputmethod.latin.uix.UixManagerInstanceForDebug
import org.futo.inputmethod.latin.uix.settings.NavigationItem
import org.futo.inputmethod.latin.uix.settings.NavigationItemStyle
import org.futo.inputmethod.latin.uix.settings.ScreenTitle
......@@ -31,10 +35,24 @@ import org.futo.inputmethod.updates.DISABLE_UPDATE_REMINDER
import org.futo.inputmethod.updates.dismissedMigrateUpdateNotice
val IS_DEVELOPER = SettingsKey(booleanPreferencesKey("isDeveloperMode"), false)
val TMP_PAYMENT_URL = SettingsKey(stringPreferencesKey("temporaryPaymentUrl"), BuildConfig.PAYMENT_URL)
@OptIn(DebugOnly::class)
@Composable
fun DevKeyboardScreen(navController: NavHostController = rememberNavController()) {
Box {
ScrollableList {
ScreenTitle("Keyboard screen", showBack = true, navController)
AndroidTextInput()
}
UixManagerInstanceForDebug?.Content()
}
}
@Preview(showBackground = true)
@Composable
fun DeveloperScreen(navController: NavHostController = rememberNavController()) {
......@@ -58,20 +76,6 @@ fun DeveloperScreen(navController: NavHostController = rememberNavController())
SettingToggleDataStore(title = "Old action bar", setting = OldStyleActionsBar)
NavigationItem(
title = "Crash the app",
style = NavigationItemStyle.MiscNoArrow,
navigate = {
scope.lifecycleScope.launch {
withContext(Dispatchers.Default) {
delay(300L)
throw RuntimeException("User requested app to crash :3")
}
}
},
icon = painterResource(id = R.drawable.close)
)
NavigationItem(
title = "Text edit variations",
style = NavigationItemStyle.Misc,
......@@ -133,5 +137,29 @@ fun DeveloperScreen(navController: NavHostController = rememberNavController())
)
SettingTextField("Payment URL", "https://example.com", TMP_PAYMENT_URL)
ScreenTitle(title = "Here be dragons")
NavigationItem(
title = "Crash the app",
style = NavigationItemStyle.MiscNoArrow,
navigate = {
scope.lifecycleScope.launch {
withContext(Dispatchers.Default) {
delay(300L)
throw RuntimeException("User requested app to crash :3")
}
}
},
icon = painterResource(id = R.drawable.close)
)
NavigationItem(
title = "Inline Keyboard",
subtitle = "This can break everything, force stop or crash the app to fix",
style = NavigationItemStyle.Misc,
navigate = { navController.navigate("devkeyboard") }
)
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment