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 ...@@ -2,7 +2,6 @@ package org.futo.inputmethod.latin.uix.settings
import androidx.compose.animation.ExitTransition import androidx.compose.animation.ExitTransition
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.navigation.NavHostController import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost import androidx.navigation.compose.NavHost
...@@ -17,6 +16,7 @@ import org.futo.inputmethod.latin.uix.settings.pages.AlreadyPaidDialog ...@@ -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.BlacklistScreen
import org.futo.inputmethod.latin.uix.settings.pages.CreditsScreen 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.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.DevLayoutEdit
import org.futo.inputmethod.latin.uix.settings.pages.DevLayoutEditor import org.futo.inputmethod.latin.uix.settings.pages.DevLayoutEditor
import org.futo.inputmethod.latin.uix.settings.pages.DevLayoutList import org.futo.inputmethod.latin.uix.settings.pages.DevLayoutList
...@@ -69,6 +69,7 @@ fun SettingsNavigator( ...@@ -69,6 +69,7 @@ fun SettingsNavigator(
composable("devtextedit") { DevEditTextVariationsScreen(navController) } composable("devtextedit") { DevEditTextVariationsScreen(navController) }
composable("devlayouts") { DevLayoutList(navController) } composable("devlayouts") { DevLayoutList(navController) }
composable("devlayouteditor") { DevLayoutEditor(navController) } composable("devlayouteditor") { DevLayoutEditor(navController) }
composable("devkeyboard") { DevKeyboardScreen(navController) }
composable("devlayoutedit/{i}") { DevLayoutEdit(navController, it.arguments!!.getString("i")!!.toInt()) } composable("devlayoutedit/{i}") { DevLayoutEdit(navController, it.arguments!!.getString("i")!!.toInt()) }
composable("blacklist") { BlacklistScreen(navController) } composable("blacklist") { BlacklistScreen(navController) }
composable("payment") { PaymentScreen(navController) { navController.navigateUp() } } composable("payment") { PaymentScreen(navController) { navController.navigateUp() } }
......
package org.futo.inputmethod.latin.uix.settings.pages package org.futo.inputmethod.latin.uix.settings.pages
import androidx.compose.foundation.layout.Box
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.compose.ui.platform.LocalLifecycleOwner
...@@ -16,9 +17,12 @@ import kotlinx.coroutines.launch ...@@ -16,9 +17,12 @@ import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import org.futo.inputmethod.latin.BuildConfig import org.futo.inputmethod.latin.BuildConfig
import org.futo.inputmethod.latin.R 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.HiddenKeysSetting
import org.futo.inputmethod.latin.uix.OldStyleActionsBar import org.futo.inputmethod.latin.uix.OldStyleActionsBar
import org.futo.inputmethod.latin.uix.SettingsKey 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.NavigationItem
import org.futo.inputmethod.latin.uix.settings.NavigationItemStyle import org.futo.inputmethod.latin.uix.settings.NavigationItemStyle
import org.futo.inputmethod.latin.uix.settings.ScreenTitle import org.futo.inputmethod.latin.uix.settings.ScreenTitle
...@@ -31,10 +35,24 @@ import org.futo.inputmethod.updates.DISABLE_UPDATE_REMINDER ...@@ -31,10 +35,24 @@ import org.futo.inputmethod.updates.DISABLE_UPDATE_REMINDER
import org.futo.inputmethod.updates.dismissedMigrateUpdateNotice import org.futo.inputmethod.updates.dismissedMigrateUpdateNotice
val IS_DEVELOPER = SettingsKey(booleanPreferencesKey("isDeveloperMode"), false) val IS_DEVELOPER = SettingsKey(booleanPreferencesKey("isDeveloperMode"), false)
val TMP_PAYMENT_URL = SettingsKey(stringPreferencesKey("temporaryPaymentUrl"), BuildConfig.PAYMENT_URL) 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) @Preview(showBackground = true)
@Composable @Composable
fun DeveloperScreen(navController: NavHostController = rememberNavController()) { fun DeveloperScreen(navController: NavHostController = rememberNavController()) {
...@@ -58,20 +76,6 @@ fun DeveloperScreen(navController: NavHostController = rememberNavController()) ...@@ -58,20 +76,6 @@ fun DeveloperScreen(navController: NavHostController = rememberNavController())
SettingToggleDataStore(title = "Old action bar", setting = OldStyleActionsBar) 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( NavigationItem(
title = "Text edit variations", title = "Text edit variations",
style = NavigationItemStyle.Misc, style = NavigationItemStyle.Misc,
...@@ -133,5 +137,29 @@ fun DeveloperScreen(navController: NavHostController = rememberNavController()) ...@@ -133,5 +137,29 @@ fun DeveloperScreen(navController: NavHostController = rememberNavController())
) )
SettingTextField("Payment URL", "https://example.com", TMP_PAYMENT_URL) 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