From 86cdb0106fa4f5dd9c3f1284279edff9ac28b95b Mon Sep 17 00:00:00 2001 From: andrekir Date: Fri, 8 Sep 2023 16:05:40 -0300 Subject: [PATCH] refactor: replace focusManager parameter with `LocalFocusManager` --- .../com/geeksville/mesh/ui/ChannelFragment.kt | 3 -- .../mesh/ui/DeviceSettingsFragment.kt | 44 ------------------- .../config/AmbientLightingConfigItemList.kt | 9 ++-- .../components/config/AudioConfigItemList.kt | 9 ++-- .../config/BluetoothConfigItemList.kt | 9 ++-- .../config/CannedMessageConfigItemList.kt | 9 ++-- .../config/ChannelSettingsItemList.kt | 9 ++-- .../config/DetectionSensorConfigItemList.kt | 9 ++-- .../components/config/DeviceConfigItemList.kt | 9 ++-- .../config/DisplayConfigItemList.kt | 9 ++-- .../ExternalNotificationConfigItemList.kt | 9 ++-- .../components/config/LoRaConfigItemList.kt | 9 ++-- .../components/config/MQTTConfigItemList.kt | 9 ++-- .../config/NeighborInfoConfigItemList.kt | 9 ++-- .../config/NetworkConfigItemList.kt | 9 ++-- .../config/PositionConfigItemList.kt | 9 ++-- .../components/config/PowerConfigItemList.kt | 9 ++-- .../config/RangeTestConfigItemList.kt | 9 ++-- .../config/RemoteHardwareConfigItemList.kt | 9 ++-- .../components/config/SerialConfigItemList.kt | 9 ++-- .../config/StoreForwardConfigItemList.kt | 9 ++-- .../config/TelemetryConfigItemList.kt | 9 ++-- .../components/config/UserConfigItemList.kt | 9 ++-- 23 files changed, 105 insertions(+), 131 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt index 42835ec70..e34d1ee03 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt @@ -277,14 +277,11 @@ fun ChannelScreen( settingsList = channelSet.settingsList, modemPresetName = modemPresetName, enabled = enabled, - focusManager = focusManager, onNegativeClicked = { - focusManager.clearFocus() showChannelEditor = false }, positiveText = R.string.save, onPositiveClicked = { - focusManager.clearFocus() showChannelEditor = false channelSet = channelSet.toBuilder().clearSettings().addAllSettings(it).build() } diff --git a/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt index d642719dc..a016d8d4f 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt @@ -43,7 +43,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.ComposeView -import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -166,7 +165,6 @@ sealed class PacketResponseState { @Composable fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { val navController = rememberNavController() - val focusManager = LocalFocusManager.current val connectionState by viewModel.connectionState.observeAsState() val connected = connectionState == MeshService.ConnectionState.CONNECTED @@ -405,9 +403,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { modemPresetName = Channel(Channel.default.settings, radioConfig.lora).name, enabled = connected, maxChannels = maxChannels, - focusManager = focusManager, onPositiveClicked = { channelListInput -> - focusManager.clearFocus() viewModel.updateChannels(destNum, channelList, channelListInput) channelList.clear() channelList.addAll(channelListInput) @@ -418,9 +414,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { UserConfigItemList( userConfig = userConfig, enabled = connected, - focusManager = focusManager, onSaveClicked = { userInput -> - focusManager.clearFocus() viewModel.setRemoteOwner(destNum, userInput) userConfig = userInput } @@ -430,9 +424,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { DeviceConfigItemList( deviceConfig = radioConfig.device, enabled = connected, - focusManager = focusManager, onSaveClicked = { deviceInput -> - focusManager.clearFocus() val config = config { device = deviceInput } viewModel.setRemoteConfig(destNum, config) radioConfig = config @@ -445,9 +437,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { location = location, positionConfig = radioConfig.position, enabled = connected, - focusManager = focusManager, onSaveClicked = { locationInput, positionInput -> - focusManager.clearFocus() if (locationInput != node.position && positionInput.fixedPosition) { locationInput?.let { viewModel.requestPosition(destNum, it) } location = locationInput @@ -464,9 +454,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { PowerConfigItemList( powerConfig = radioConfig.power, enabled = connected, - focusManager = focusManager, onSaveClicked = { powerInput -> - focusManager.clearFocus() val config = config { power = powerInput } viewModel.setRemoteConfig(destNum, config) radioConfig = config @@ -477,9 +465,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { NetworkConfigItemList( networkConfig = radioConfig.network, enabled = connected, - focusManager = focusManager, onSaveClicked = { networkInput -> - focusManager.clearFocus() val config = config { network = networkInput } viewModel.setRemoteConfig(destNum, config) radioConfig = config @@ -490,9 +476,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { DisplayConfigItemList( displayConfig = radioConfig.display, enabled = connected, - focusManager = focusManager, onSaveClicked = { displayInput -> - focusManager.clearFocus() val config = config { display = displayInput } viewModel.setRemoteConfig(destNum, config) radioConfig = config @@ -504,9 +488,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { loraConfig = radioConfig.lora, primarySettings = channelList.getOrNull(0) ?: return@composable, enabled = connected, - focusManager = focusManager, onSaveClicked = { loraInput -> - focusManager.clearFocus() val config = config { lora = loraInput } viewModel.setRemoteConfig(destNum, config) radioConfig = config @@ -517,9 +499,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { BluetoothConfigItemList( bluetoothConfig = radioConfig.bluetooth, enabled = connected, - focusManager = focusManager, onSaveClicked = { bluetoothInput -> - focusManager.clearFocus() val config = config { bluetooth = bluetoothInput } viewModel.setRemoteConfig(destNum, config) radioConfig = config @@ -530,9 +510,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { MQTTConfigItemList( mqttConfig = moduleConfig.mqtt, enabled = connected, - focusManager = focusManager, onSaveClicked = { mqttInput -> - focusManager.clearFocus() val config = moduleConfig { mqtt = mqttInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -543,9 +521,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { SerialConfigItemList( serialConfig = moduleConfig.serial, enabled = connected, - focusManager = focusManager, onSaveClicked = { serialInput -> - focusManager.clearFocus() val config = moduleConfig { serial = serialInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -557,9 +533,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { ringtone = ringtone, extNotificationConfig = moduleConfig.externalNotification, enabled = connected, - focusManager = focusManager, onSaveClicked = { ringtoneInput, extNotificationInput -> - focusManager.clearFocus() if (ringtoneInput != ringtone) { viewModel.setRingtone(destNum, ringtoneInput) ringtone = ringtoneInput @@ -576,9 +550,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { StoreForwardConfigItemList( storeForwardConfig = moduleConfig.storeForward, enabled = connected, - focusManager = focusManager, onSaveClicked = { storeForwardInput -> - focusManager.clearFocus() val config = moduleConfig { storeForward = storeForwardInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -589,9 +561,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { RangeTestConfigItemList( rangeTestConfig = moduleConfig.rangeTest, enabled = connected, - focusManager = focusManager, onSaveClicked = { rangeTestInput -> - focusManager.clearFocus() val config = moduleConfig { rangeTest = rangeTestInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -602,9 +572,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { TelemetryConfigItemList( telemetryConfig = moduleConfig.telemetry, enabled = connected, - focusManager = focusManager, onSaveClicked = { telemetryInput -> - focusManager.clearFocus() val config = moduleConfig { telemetry = telemetryInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -616,9 +584,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { messages = cannedMessageMessages, cannedMessageConfig = moduleConfig.cannedMessage, enabled = connected, - focusManager = focusManager, onSaveClicked = { messagesInput, cannedMessageInput -> - focusManager.clearFocus() if (messagesInput != cannedMessageMessages) { viewModel.setCannedMessages(destNum, messagesInput) cannedMessageMessages = messagesInput @@ -635,9 +601,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { AudioConfigItemList( audioConfig = moduleConfig.audio, enabled = connected, - focusManager = focusManager, onSaveClicked = { audioInput -> - focusManager.clearFocus() val config = moduleConfig { audio = audioInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -648,9 +612,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { RemoteHardwareConfigItemList( remoteHardwareConfig = moduleConfig.remoteHardware, enabled = connected, - focusManager = focusManager, onSaveClicked = { remoteHardwareInput -> - focusManager.clearFocus() val config = moduleConfig { remoteHardware = remoteHardwareInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -661,9 +623,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { NeighborInfoConfigItemList( neighborInfoConfig = moduleConfig.neighborInfo, enabled = connected, - focusManager = focusManager, onSaveClicked = { neighborInfoInput -> - focusManager.clearFocus() val config = moduleConfig { neighborInfo = neighborInfoInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -674,9 +634,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { AmbientLightingConfigItemList( ambientLightingConfig = moduleConfig.ambientLighting, enabled = connected, - focusManager = focusManager, onSaveClicked = { ambientLightingInput -> - focusManager.clearFocus() val config = moduleConfig { ambientLighting = ambientLightingInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config @@ -687,9 +645,7 @@ fun RadioConfigNavHost(node: NodeInfo, viewModel: UIViewModel = viewModel()) { DetectionSensorConfigItemList( detectionSensorConfig = moduleConfig.detectionSensor, enabled = connected, - focusManager = focusManager, onSaveClicked = { detectionSensorInput -> - focusManager.clearFocus() val config = moduleConfig { detectionSensor = detectionSensorInput } viewModel.setModuleConfig(destNum, config) moduleConfig = config diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/AmbientLightingConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/AmbientLightingConfigItemList.kt index c8f480b5c..bb13ad7e2 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/AmbientLightingConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/AmbientLightingConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ModuleConfigProtos @@ -24,9 +23,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun AmbientLightingConfigItemList( ambientLightingConfig: ModuleConfigProtos.ModuleConfig.AmbientLightingConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (ModuleConfigProtos.ModuleConfig.AmbientLightingConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var ambientLightingInput by remember(ambientLightingConfig) { mutableStateOf(ambientLightingConfig) } @@ -87,7 +86,10 @@ fun AmbientLightingConfigItemList( focusManager.clearFocus() ambientLightingInput = ambientLightingConfig }, - onSaveClicked = { onSaveClicked(ambientLightingInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(ambientLightingInput) + } ) } } @@ -99,7 +101,6 @@ private fun AmbientLightingConfigPreview() { AmbientLightingConfigItemList( ambientLightingConfig = ModuleConfigProtos.ModuleConfig.AmbientLightingConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/AudioConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/AudioConfigItemList.kt index e0120d38c..1c7b01b0a 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/AudioConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/AudioConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ModuleConfigProtos.ModuleConfig.AudioConfig @@ -25,9 +24,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun AudioConfigItemList( audioConfig: AudioConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (AudioConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var audioInput by remember(audioConfig) { mutableStateOf(audioConfig) } LazyColumn( @@ -101,7 +100,10 @@ fun AudioConfigItemList( focusManager.clearFocus() audioInput = audioConfig }, - onSaveClicked = { onSaveClicked(audioInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(audioInput) + } ) } } @@ -113,7 +115,6 @@ private fun AudioConfigPreview() { AudioConfigItemList( audioConfig = AudioConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/BluetoothConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/BluetoothConfigItemList.kt index 148dbf162..d685a9530 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/BluetoothConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/BluetoothConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ConfigProtos.Config.BluetoothConfig @@ -25,9 +24,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun BluetoothConfigItemList( bluetoothConfig: BluetoothConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (BluetoothConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var bluetoothInput by remember(bluetoothConfig) { mutableStateOf(bluetoothConfig) } LazyColumn( @@ -72,7 +71,10 @@ fun BluetoothConfigItemList( focusManager.clearFocus() bluetoothInput = bluetoothConfig }, - onSaveClicked = { onSaveClicked(bluetoothInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(bluetoothInput) + } ) } } @@ -84,7 +86,6 @@ private fun BluetoothConfigPreview() { BluetoothConfigItemList( bluetoothConfig = BluetoothConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/CannedMessageConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/CannedMessageConfigItemList.kt index 5c25efa67..c6bad9b12 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/CannedMessageConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/CannedMessageConfigItemList.kt @@ -11,7 +11,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType @@ -29,9 +28,9 @@ fun CannedMessageConfigItemList( messages: String, cannedMessageConfig: CannedMessageConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (messages: String, config: CannedMessageConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var messagesInput by remember { mutableStateOf(messages) } var cannedMessageInput by remember { mutableStateOf(cannedMessageConfig) } @@ -186,7 +185,10 @@ fun CannedMessageConfigItemList( messagesInput = messages cannedMessageInput = cannedMessageConfig }, - onSaveClicked = { onSaveClicked(messagesInput,cannedMessageInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(messagesInput,cannedMessageInput) + } ) } } @@ -199,7 +201,6 @@ private fun CannedMessageConfigPreview() { messages = "", cannedMessageConfig = CannedMessageConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { _, _ -> }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/ChannelSettingsItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/ChannelSettingsItemList.kt index 44d1f7124..79af6f848 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/ChannelSettingsItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/ChannelSettingsItemList.kt @@ -35,7 +35,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.stringResource @@ -92,11 +91,11 @@ fun ChannelSettingsItemList( modemPresetName: String = "Default", maxChannels: Int = 8, enabled: Boolean, - focusManager: FocusManager, onNegativeClicked: () -> Unit = { }, @StringRes positiveText: Int = R.string.send, onPositiveClicked: (List) -> Unit, ) { + val focusManager = LocalFocusManager.current val settingsListInput = remember { mutableStateListOf().apply { addAll(settingsList) } } @@ -154,7 +153,10 @@ fun ChannelSettingsItemList( onNegativeClicked() }, positiveText = positiveText, - onPositiveClicked = { onPositiveClicked(settingsListInput) } + onPositiveClicked = { + focusManager.clearFocus() + onPositiveClicked(settingsListInput) + } ) } } @@ -198,7 +200,6 @@ private fun ChannelSettingsPreview() { }, ), enabled = true, - focusManager = LocalFocusManager.current, onPositiveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/DetectionSensorConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/DetectionSensorConfigItemList.kt index a3f53b965..499270cfd 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/DetectionSensorConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/DetectionSensorConfigItemList.kt @@ -11,7 +11,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType @@ -27,9 +26,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun DetectionSensorConfigItemList( detectionSensorConfig: ModuleConfigProtos.ModuleConfig.DetectionSensorConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (ModuleConfigProtos.ModuleConfig.DetectionSensorConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var detectionSensorInput by remember(detectionSensorConfig) { mutableStateOf(detectionSensorConfig) } @@ -131,7 +130,10 @@ fun DetectionSensorConfigItemList( focusManager.clearFocus() detectionSensorInput = detectionSensorConfig }, - onSaveClicked = { onSaveClicked(detectionSensorInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(detectionSensorInput) + } ) } } @@ -143,7 +145,6 @@ private fun DetectionSensorConfigPreview() { DetectionSensorConfigItemList( detectionSensorConfig = ModuleConfigProtos.ModuleConfig.DetectionSensorConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/DeviceConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/DeviceConfigItemList.kt index 8609a6f21..9fd9ccae5 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/DeviceConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/DeviceConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ConfigProtos.Config.DeviceConfig @@ -25,9 +24,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun DeviceConfigItemList( deviceConfig: DeviceConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (DeviceConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var deviceInput by remember(deviceConfig) { mutableStateOf(deviceConfig) } LazyColumn( @@ -130,7 +129,10 @@ fun DeviceConfigItemList( focusManager.clearFocus() deviceInput = deviceConfig }, - onSaveClicked = { onSaveClicked(deviceInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(deviceInput) + } ) } } @@ -142,7 +144,6 @@ private fun DeviceConfigPreview() { DeviceConfigItemList( deviceConfig = DeviceConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/DisplayConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/DisplayConfigItemList.kt index cf6fda390..f256145f8 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/DisplayConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/DisplayConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ConfigProtos.Config.DisplayConfig @@ -25,9 +24,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun DisplayConfigItemList( displayConfig: DisplayConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (DisplayConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var displayInput by remember(displayConfig) { mutableStateOf(displayConfig) } LazyColumn( @@ -136,7 +135,10 @@ fun DisplayConfigItemList( focusManager.clearFocus() displayInput = displayConfig }, - onSaveClicked = { onSaveClicked(displayInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(displayInput) + } ) } } @@ -149,7 +151,6 @@ private fun DisplayConfigPreview() { DisplayConfigItemList( displayConfig = DisplayConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/ExternalNotificationConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/ExternalNotificationConfigItemList.kt index d6921a287..7368fc9fc 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/ExternalNotificationConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/ExternalNotificationConfigItemList.kt @@ -11,7 +11,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType @@ -29,9 +28,9 @@ fun ExternalNotificationConfigItemList( ringtone: String, extNotificationConfig: ExternalNotificationConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (ringtone: String, config: ExternalNotificationConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var ringtoneInput by remember { mutableStateOf(ringtone) } var externalNotificationInput by remember { mutableStateOf(extNotificationConfig) } @@ -208,7 +207,10 @@ fun ExternalNotificationConfigItemList( ringtoneInput = ringtone externalNotificationInput = extNotificationConfig }, - onSaveClicked = { onSaveClicked(ringtoneInput, externalNotificationInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(ringtoneInput, externalNotificationInput) + } ) } } @@ -221,7 +223,6 @@ private fun ExternalNotificationConfigPreview() { ringtone = "", extNotificationConfig = ExternalNotificationConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { _, _ -> }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/LoRaConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/LoRaConfigItemList.kt index b0f322691..4a48d2608 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/LoRaConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/LoRaConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ChannelProtos.ChannelSettings @@ -30,9 +29,9 @@ fun LoRaConfigItemList( loraConfig: LoRaConfig, primarySettings: ChannelSettings, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (LoRaConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var loraInput by remember(loraConfig) { mutableStateOf(loraConfig) } val primaryChannel = Channel(primarySettings, loraInput) @@ -189,7 +188,10 @@ fun LoRaConfigItemList( focusManager.clearFocus() loraInput = loraConfig }, - onSaveClicked = { onSaveClicked(loraInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(loraInput) + } ) } } @@ -202,7 +204,6 @@ private fun LoRaConfigPreview() { loraConfig = Channel.default.loraConfig, primarySettings = Channel.default.settings, enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/MQTTConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/MQTTConfigItemList.kt index 834200bdd..137766838 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/MQTTConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/MQTTConfigItemList.kt @@ -11,7 +11,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType @@ -28,9 +27,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun MQTTConfigItemList( mqttConfig: MQTTConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (MQTTConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var mqttInput by remember(mqttConfig) { mutableStateOf(mqttConfig) } LazyColumn( @@ -133,7 +132,10 @@ fun MQTTConfigItemList( focusManager.clearFocus() mqttInput = mqttConfig }, - onSaveClicked = { onSaveClicked(mqttInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(mqttInput) + } ) } } @@ -145,7 +147,6 @@ private fun MQTTConfigPreview() { MQTTConfigItemList( mqttConfig = MQTTConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/NeighborInfoConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/NeighborInfoConfigItemList.kt index ba7b7cf04..c781dfa24 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/NeighborInfoConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/NeighborInfoConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ModuleConfigProtos @@ -24,9 +23,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun NeighborInfoConfigItemList( neighborInfoConfig: ModuleConfigProtos.ModuleConfig.NeighborInfoConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (ModuleConfigProtos.ModuleConfig.NeighborInfoConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var neighborInfoInput by remember(neighborInfoConfig) { mutableStateOf(neighborInfoConfig) } LazyColumn( @@ -61,7 +60,10 @@ fun NeighborInfoConfigItemList( focusManager.clearFocus() neighborInfoInput = neighborInfoConfig }, - onSaveClicked = { onSaveClicked(neighborInfoInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(neighborInfoInput) + } ) } } @@ -73,7 +75,6 @@ private fun NeighborInfoConfigPreview() { NeighborInfoConfigItemList( neighborInfoConfig = ModuleConfigProtos.ModuleConfig.NeighborInfoConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/NetworkConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/NetworkConfigItemList.kt index f1c474987..e0c56d294 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/NetworkConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/NetworkConfigItemList.kt @@ -11,7 +11,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType @@ -30,9 +29,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun NetworkConfigItemList( networkConfig: NetworkConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (NetworkConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var networkInput by remember(networkConfig) { mutableStateOf(networkConfig) } LazyColumn( @@ -172,7 +171,10 @@ fun NetworkConfigItemList( focusManager.clearFocus() networkInput = networkConfig }, - onSaveClicked = { onSaveClicked(networkInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(networkInput) + } ) } } @@ -184,7 +186,6 @@ private fun NetworkConfigPreview() { NetworkConfigItemList( networkConfig = NetworkConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/PositionConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/PositionConfigItemList.kt index d19a7a134..8a47a97e7 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/PositionConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/PositionConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ConfigProtos @@ -29,9 +28,9 @@ fun PositionConfigItemList( location: Position?, positionConfig: PositionConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (position: Position?, config: PositionConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var locationInput by remember { mutableStateOf(location) } var positionInput by remember { mutableStateOf(positionConfig) } @@ -182,7 +181,10 @@ fun PositionConfigItemList( locationInput = location positionInput = positionConfig }, - onSaveClicked = { onSaveClicked(locationInput, positionInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(locationInput, positionInput) + } ) } } @@ -195,7 +197,6 @@ private fun PositionConfigPreview() { location = null, positionConfig = PositionConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { _, _ -> }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/PowerConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/PowerConfigItemList.kt index 1478a0439..6feb0532b 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/PowerConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/PowerConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ConfigProtos.Config.PowerConfig @@ -24,9 +23,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun PowerConfigItemList( powerConfig: PowerConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (PowerConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var powerInput by remember(powerConfig) { mutableStateOf(powerConfig) } LazyColumn( @@ -107,7 +106,10 @@ fun PowerConfigItemList( focusManager.clearFocus() powerInput = powerConfig }, - onSaveClicked = { onSaveClicked(powerInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(powerInput) + } ) } } @@ -119,7 +121,6 @@ private fun PowerConfigPreview() { PowerConfigItemList( powerConfig = PowerConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/RangeTestConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/RangeTestConfigItemList.kt index 5f72c7365..6ba527276 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/RangeTestConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/RangeTestConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ModuleConfigProtos.ModuleConfig.RangeTestConfig @@ -24,9 +23,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun RangeTestConfigItemList( rangeTestConfig: RangeTestConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (RangeTestConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var rangeTestInput by remember(rangeTestConfig) { mutableStateOf(rangeTestConfig) } LazyColumn( @@ -65,7 +64,10 @@ fun RangeTestConfigItemList( focusManager.clearFocus() rangeTestInput = rangeTestConfig }, - onSaveClicked = { onSaveClicked(rangeTestInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(rangeTestInput) + } ) } } @@ -77,7 +79,6 @@ private fun RangeTestConfig() { RangeTestConfigItemList( rangeTestConfig = RangeTestConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/RemoteHardwareConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/RemoteHardwareConfigItemList.kt index be0aebd5f..2ef036b03 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/RemoteHardwareConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/RemoteHardwareConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ModuleConfigProtos.ModuleConfig.RemoteHardwareConfig @@ -24,9 +23,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun RemoteHardwareConfigItemList( remoteHardwareConfig: RemoteHardwareConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (RemoteHardwareConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var remoteHardwareInput by remember(remoteHardwareConfig) { mutableStateOf(remoteHardwareConfig) } LazyColumn( @@ -75,7 +74,10 @@ fun RemoteHardwareConfigItemList( focusManager.clearFocus() remoteHardwareInput = remoteHardwareConfig }, - onSaveClicked = { onSaveClicked(remoteHardwareInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(remoteHardwareInput) + } ) } } @@ -87,7 +89,6 @@ private fun RemoteHardwareConfigPreview() { RemoteHardwareConfigItemList( remoteHardwareConfig = RemoteHardwareConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/SerialConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/SerialConfigItemList.kt index c353891cc..9a45ddd55 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/SerialConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/SerialConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ModuleConfigProtos.ModuleConfig.SerialConfig @@ -25,9 +24,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun SerialConfigItemList( serialConfig: SerialConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (SerialConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var serialInput by remember(serialConfig) { mutableStateOf(serialConfig) } LazyColumn( @@ -114,7 +113,10 @@ fun SerialConfigItemList( focusManager.clearFocus() serialInput = serialConfig }, - onSaveClicked = { onSaveClicked(serialInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(serialInput) + } ) } } @@ -126,7 +128,6 @@ private fun SerialConfigPreview() { SerialConfigItemList( serialConfig = SerialConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/StoreForwardConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/StoreForwardConfigItemList.kt index f3a62df1b..dd0be4fb6 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/StoreForwardConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/StoreForwardConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ModuleConfigProtos.ModuleConfig.StoreForwardConfig @@ -24,9 +23,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun StoreForwardConfigItemList( storeForwardConfig: StoreForwardConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (StoreForwardConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var storeForwardInput by remember(storeForwardConfig) { mutableStateOf(storeForwardConfig) } LazyColumn( @@ -87,7 +86,10 @@ fun StoreForwardConfigItemList( focusManager.clearFocus() storeForwardInput = storeForwardConfig }, - onSaveClicked = { onSaveClicked(storeForwardInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(storeForwardInput) + } ) } } @@ -99,7 +101,6 @@ private fun StoreForwardConfigPreview() { StoreForwardConfigItemList( storeForwardConfig = StoreForwardConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/TelemetryConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/TelemetryConfigItemList.kt index efb9613e2..23f35b999 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/TelemetryConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/TelemetryConfigItemList.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.tooling.preview.Preview import com.geeksville.mesh.ModuleConfigProtos.ModuleConfig.TelemetryConfig @@ -24,9 +23,9 @@ import com.geeksville.mesh.ui.components.SwitchPreference fun TelemetryConfigItemList( telemetryConfig: TelemetryConfig, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (TelemetryConfig) -> Unit, ) { + val focusManager = LocalFocusManager.current var telemetryInput by remember(telemetryConfig) { mutableStateOf(telemetryConfig) } LazyColumn( @@ -111,7 +110,10 @@ fun TelemetryConfigItemList( focusManager.clearFocus() telemetryInput = telemetryConfig }, - onSaveClicked = { onSaveClicked(telemetryInput) } + onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(telemetryInput) + } ) } } @@ -123,7 +125,6 @@ private fun TelemetryConfigPreview() { TelemetryConfigItemList( telemetryConfig = TelemetryConfig.getDefaultInstance(), enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/UserConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/UserConfigItemList.kt index 535598d22..013662478 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/UserConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/UserConfigItemList.kt @@ -11,7 +11,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType @@ -30,9 +29,9 @@ import com.geeksville.mesh.user fun UserConfigItemList( userConfig: MeshProtos.User, enabled: Boolean, - focusManager: FocusManager, onSaveClicked: (MeshProtos.User) -> Unit, ) { + val focusManager = LocalFocusManager.current var userInput by remember(userConfig) { mutableStateOf(userConfig) } LazyColumn( @@ -98,7 +97,10 @@ fun UserConfigItemList( onCancelClicked = { focusManager.clearFocus() userInput = userConfig - }, onSaveClicked = { onSaveClicked(userInput) } + }, onSaveClicked = { + focusManager.clearFocus() + onSaveClicked(userInput) + } ) } } @@ -116,7 +118,6 @@ private fun UserConfigPreview() { isLicensed = false }, enabled = true, - focusManager = LocalFocusManager.current, onSaveClicked = { }, ) }