mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
refactor: improve service admin channel index logic
This commit is contained in:
parent
6a72c65a83
commit
9869a9208b
3 changed files with 6 additions and 14 deletions
|
|
@ -48,10 +48,9 @@ class ChannelSetRepository @Inject constructor(
|
|||
}
|
||||
|
||||
/**
|
||||
* Updates the [ChannelSettings] list with the provided channel and returns the index of the
|
||||
* admin channel after the update (if not found, returns 0).
|
||||
* Updates the [ChannelSettings] list with the provided channel.
|
||||
*/
|
||||
suspend fun updateChannelSettings(channel: Channel): Int {
|
||||
suspend fun updateChannelSettings(channel: Channel) {
|
||||
channelSetStore.updateData { preference ->
|
||||
if (preference.settingsCount > channel.index) {
|
||||
preference.toBuilder().setSettings(channel.index, channel.settings).build()
|
||||
|
|
@ -59,7 +58,6 @@ class ChannelSetRepository @Inject constructor(
|
|||
preference.toBuilder().addSettings(channel.settings).build()
|
||||
}
|
||||
}
|
||||
return getAdminChannel()
|
||||
}
|
||||
|
||||
suspend fun setLoraConfig(config: ConfigProtos.Config.LoRaConfig) {
|
||||
|
|
@ -68,13 +66,6 @@ class ChannelSetRepository @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the index of the admin channel (or 0 if not found).
|
||||
*/
|
||||
private suspend fun getAdminChannel(): Int = fetchInitialChannelSet()?.settingsList
|
||||
?.indexOfFirst { it.name.lowercase() == "admin" }
|
||||
?.coerceAtLeast(0) ?: 0
|
||||
|
||||
suspend fun fetchInitialChannelSet() = channelSetStore.data.firstOrNull()
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ class RadioConfigRepository @Inject constructor(
|
|||
* @param channel The [Channel] provided.
|
||||
* @return the index of the admin channel after the update (if not found, returns 0).
|
||||
*/
|
||||
suspend fun updateChannelSettings(channel: Channel): Int {
|
||||
suspend fun updateChannelSettings(channel: Channel) {
|
||||
return channelSetRepository.updateChannelSettings(channel)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue