refactor: replace focusManager parameter with LocalFocusManager

This commit is contained in:
andrekir 2023-09-08 16:05:40 -03:00
parent 0f372b8947
commit 86cdb0106f
23 changed files with 105 additions and 131 deletions

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { _, _ -> },
)
}

View file

@ -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<ChannelSettings>) -> Unit,
) {
val focusManager = LocalFocusManager.current
val settingsListInput = remember {
mutableStateListOf<ChannelSettings>().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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { _, _ -> },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { _, _ -> },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}

View file

@ -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 = { },
)
}