mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
ci: cache Robolectric SDK jars to prevent flaky SocketException failures (#5045)
This commit is contained in:
parent
93e0b9ca57
commit
1390a3cd4f
34 changed files with 374 additions and 426 deletions
|
|
@ -41,8 +41,8 @@ import org.meshtastic.core.common.util.toDate
|
|||
import org.meshtastic.core.common.util.toInstant
|
||||
import org.meshtastic.core.common.util.toMeshtasticUri
|
||||
import org.meshtastic.core.navigation.Route
|
||||
import org.meshtastic.core.navigation.SettingsRoutes
|
||||
import org.meshtastic.core.navigation.WifiProvisionRoutes
|
||||
import org.meshtastic.core.navigation.SettingsRoute
|
||||
import org.meshtastic.core.navigation.WifiProvisionRoute
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.bottom_nav_settings
|
||||
import org.meshtastic.core.resources.export_configuration
|
||||
|
|
@ -233,7 +233,7 @@ fun SettingsScreen(
|
|||
|
||||
ExpressiveSection(title = stringResource(Res.string.wifi_devices)) {
|
||||
ListItem(text = stringResource(Res.string.wifi_devices), leadingIcon = MeshtasticIcons.Wifi) {
|
||||
onNavigate(WifiProvisionRoutes.WifiProvision())
|
||||
onNavigate(WifiProvisionRoute.WifiProvision())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -249,7 +249,7 @@ fun SettingsScreen(
|
|||
excludedModulesUnlocked = excludedModulesUnlocked,
|
||||
onUnlockExcludedModules = { settingsViewModel.unlockExcludedModules() },
|
||||
onShowAppIntro = { settingsViewModel.showAppIntro() },
|
||||
onNavigateToAbout = { onNavigate(SettingsRoutes.About) },
|
||||
onNavigateToAbout = { onNavigate(SettingsRoute.About) },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
*/
|
||||
package org.meshtastic.feature.settings.navigation
|
||||
|
||||
import org.meshtastic.core.navigation.SettingsRoutes
|
||||
import org.meshtastic.core.navigation.SettingsRoute
|
||||
|
||||
actual fun getAboutLibrariesJson(): String =
|
||||
SettingsRoutes::class.java.getResource("/aboutlibraries.json")?.readText() ?: ""
|
||||
SettingsRoute::class.java.getResource("/aboutlibraries.json")?.readText() ?: ""
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ package org.meshtastic.feature.settings.navigation
|
|||
import org.jetbrains.compose.resources.DrawableResource
|
||||
import org.jetbrains.compose.resources.StringResource
|
||||
import org.meshtastic.core.navigation.Route
|
||||
import org.meshtastic.core.navigation.SettingsRoutes
|
||||
import org.meshtastic.core.navigation.SettingsRoute
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.bluetooth
|
||||
import org.meshtastic.core.resources.channels
|
||||
|
|
@ -50,43 +50,43 @@ enum class ConfigRoute(
|
|||
val icon: DrawableResource? = null,
|
||||
val type: Int = 0,
|
||||
) {
|
||||
USER(Res.string.user, SettingsRoutes.User, Res.drawable.ic_person, 0),
|
||||
CHANNELS(Res.string.channels, SettingsRoutes.ChannelConfig, Res.drawable.ic_list, 0),
|
||||
USER(Res.string.user, SettingsRoute.User, Res.drawable.ic_person, 0),
|
||||
CHANNELS(Res.string.channels, SettingsRoute.ChannelConfig, Res.drawable.ic_list, 0),
|
||||
DEVICE(
|
||||
Res.string.device,
|
||||
SettingsRoutes.Device,
|
||||
SettingsRoute.Device,
|
||||
Res.drawable.ic_router,
|
||||
AdminMessage.ConfigType.DEVICE_CONFIG.value,
|
||||
),
|
||||
POSITION(
|
||||
Res.string.position,
|
||||
SettingsRoutes.Position,
|
||||
SettingsRoute.Position,
|
||||
Res.drawable.ic_location_on,
|
||||
AdminMessage.ConfigType.POSITION_CONFIG.value,
|
||||
),
|
||||
POWER(Res.string.power, SettingsRoutes.Power, Res.drawable.ic_power, AdminMessage.ConfigType.POWER_CONFIG.value),
|
||||
POWER(Res.string.power, SettingsRoute.Power, Res.drawable.ic_power, AdminMessage.ConfigType.POWER_CONFIG.value),
|
||||
NETWORK(
|
||||
Res.string.network,
|
||||
SettingsRoutes.Network,
|
||||
SettingsRoute.Network,
|
||||
Res.drawable.ic_wifi,
|
||||
AdminMessage.ConfigType.NETWORK_CONFIG.value,
|
||||
),
|
||||
DISPLAY(
|
||||
Res.string.display,
|
||||
SettingsRoutes.Display,
|
||||
SettingsRoute.Display,
|
||||
Res.drawable.ic_display_settings,
|
||||
AdminMessage.ConfigType.DISPLAY_CONFIG.value,
|
||||
),
|
||||
LORA(Res.string.lora, SettingsRoutes.LoRa, Res.drawable.ic_cell_tower, AdminMessage.ConfigType.LORA_CONFIG.value),
|
||||
LORA(Res.string.lora, SettingsRoute.LoRa, Res.drawable.ic_cell_tower, AdminMessage.ConfigType.LORA_CONFIG.value),
|
||||
BLUETOOTH(
|
||||
Res.string.bluetooth,
|
||||
SettingsRoutes.Bluetooth,
|
||||
SettingsRoute.Bluetooth,
|
||||
Res.drawable.ic_bluetooth,
|
||||
AdminMessage.ConfigType.BLUETOOTH_CONFIG.value,
|
||||
),
|
||||
SECURITY(
|
||||
Res.string.security,
|
||||
SettingsRoutes.Security,
|
||||
SettingsRoute.Security,
|
||||
Res.drawable.ic_security,
|
||||
AdminMessage.ConfigType.SECURITY_CONFIG.value,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import org.jetbrains.compose.resources.DrawableResource
|
|||
import org.jetbrains.compose.resources.StringResource
|
||||
import org.meshtastic.core.model.Capabilities
|
||||
import org.meshtastic.core.navigation.Route
|
||||
import org.meshtastic.core.navigation.SettingsRoutes
|
||||
import org.meshtastic.core.navigation.SettingsRoute
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.ambient_lighting
|
||||
import org.meshtastic.core.resources.audio
|
||||
|
|
@ -64,96 +64,96 @@ enum class ModuleRoute(
|
|||
val isSupported: (Capabilities) -> Boolean = { true },
|
||||
val isApplicable: (Config.DeviceConfig.Role?) -> Boolean = { true },
|
||||
) {
|
||||
MQTT(Res.string.mqtt, SettingsRoutes.MQTT, Res.drawable.ic_cloud, AdminMessage.ModuleConfigType.MQTT_CONFIG.value),
|
||||
MQTT(Res.string.mqtt, SettingsRoute.MQTT, Res.drawable.ic_cloud, AdminMessage.ModuleConfigType.MQTT_CONFIG.value),
|
||||
SERIAL(
|
||||
Res.string.serial,
|
||||
SettingsRoutes.Serial,
|
||||
SettingsRoute.Serial,
|
||||
Res.drawable.ic_usb,
|
||||
AdminMessage.ModuleConfigType.SERIAL_CONFIG.value,
|
||||
),
|
||||
EXT_NOTIFICATION(
|
||||
Res.string.external_notification,
|
||||
SettingsRoutes.ExtNotification,
|
||||
SettingsRoute.ExtNotification,
|
||||
Res.drawable.ic_notifications,
|
||||
AdminMessage.ModuleConfigType.EXTNOTIF_CONFIG.value,
|
||||
),
|
||||
STORE_FORWARD(
|
||||
Res.string.store_forward,
|
||||
SettingsRoutes.StoreForward,
|
||||
SettingsRoute.StoreForward,
|
||||
Res.drawable.ic_terminal,
|
||||
AdminMessage.ModuleConfigType.STOREFORWARD_CONFIG.value,
|
||||
),
|
||||
RANGE_TEST(
|
||||
Res.string.range_test,
|
||||
SettingsRoutes.RangeTest,
|
||||
SettingsRoute.RangeTest,
|
||||
Res.drawable.ic_speed,
|
||||
AdminMessage.ModuleConfigType.RANGETEST_CONFIG.value,
|
||||
),
|
||||
TELEMETRY(
|
||||
Res.string.telemetry,
|
||||
SettingsRoutes.Telemetry,
|
||||
SettingsRoute.Telemetry,
|
||||
Res.drawable.ic_data_usage,
|
||||
AdminMessage.ModuleConfigType.TELEMETRY_CONFIG.value,
|
||||
),
|
||||
CANNED_MESSAGE(
|
||||
Res.string.canned_message,
|
||||
SettingsRoutes.CannedMessage,
|
||||
SettingsRoute.CannedMessage,
|
||||
Res.drawable.ic_message,
|
||||
AdminMessage.ModuleConfigType.CANNEDMSG_CONFIG.value,
|
||||
),
|
||||
AUDIO(
|
||||
Res.string.audio,
|
||||
SettingsRoutes.Audio,
|
||||
SettingsRoute.Audio,
|
||||
Res.drawable.ic_volume_up,
|
||||
AdminMessage.ModuleConfigType.AUDIO_CONFIG.value,
|
||||
),
|
||||
REMOTE_HARDWARE(
|
||||
Res.string.remote_hardware,
|
||||
SettingsRoutes.RemoteHardware,
|
||||
SettingsRoute.RemoteHardware,
|
||||
Res.drawable.ic_settings_remote,
|
||||
AdminMessage.ModuleConfigType.REMOTEHARDWARE_CONFIG.value,
|
||||
),
|
||||
NEIGHBOR_INFO(
|
||||
Res.string.neighbor_info,
|
||||
SettingsRoutes.NeighborInfo,
|
||||
SettingsRoute.NeighborInfo,
|
||||
Res.drawable.ic_people,
|
||||
AdminMessage.ModuleConfigType.NEIGHBORINFO_CONFIG.value,
|
||||
),
|
||||
AMBIENT_LIGHTING(
|
||||
Res.string.ambient_lighting,
|
||||
SettingsRoutes.AmbientLighting,
|
||||
SettingsRoute.AmbientLighting,
|
||||
Res.drawable.ic_light_mode,
|
||||
AdminMessage.ModuleConfigType.AMBIENTLIGHTING_CONFIG.value,
|
||||
),
|
||||
DETECTION_SENSOR(
|
||||
Res.string.detection_sensor,
|
||||
SettingsRoutes.DetectionSensor,
|
||||
SettingsRoute.DetectionSensor,
|
||||
Res.drawable.ic_sensors,
|
||||
AdminMessage.ModuleConfigType.DETECTIONSENSOR_CONFIG.value,
|
||||
),
|
||||
PAXCOUNTER(
|
||||
Res.string.paxcounter,
|
||||
SettingsRoutes.Paxcounter,
|
||||
SettingsRoute.Paxcounter,
|
||||
Res.drawable.ic_perm_scan_wifi,
|
||||
AdminMessage.ModuleConfigType.PAXCOUNTER_CONFIG.value,
|
||||
),
|
||||
STATUS_MESSAGE(
|
||||
Res.string.status_message,
|
||||
SettingsRoutes.StatusMessage,
|
||||
SettingsRoute.StatusMessage,
|
||||
Res.drawable.ic_message,
|
||||
AdminMessage.ModuleConfigType.STATUSMESSAGE_CONFIG.value,
|
||||
isSupported = { it.supportsStatusMessage },
|
||||
),
|
||||
TRAFFIC_MANAGEMENT(
|
||||
Res.string.traffic_management,
|
||||
SettingsRoutes.TrafficManagement,
|
||||
SettingsRoute.TrafficManagement,
|
||||
Res.drawable.ic_alt_route,
|
||||
AdminMessage.ModuleConfigType.TRAFFICMANAGEMENT_CONFIG.value,
|
||||
isSupported = { it.supportsTrafficManagementConfig },
|
||||
),
|
||||
TAK(
|
||||
Res.string.tak,
|
||||
SettingsRoutes.TAK,
|
||||
SettingsRoute.TAK,
|
||||
Res.drawable.ic_people,
|
||||
AdminMessage.ModuleConfigType.TAK_CONFIG.value,
|
||||
isSupported = { it.supportsTakConfig },
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ import androidx.navigation3.runtime.EntryProviderScope
|
|||
import androidx.navigation3.runtime.NavBackStack
|
||||
import androidx.navigation3.runtime.NavKey
|
||||
import org.koin.compose.viewmodel.koinViewModel
|
||||
import org.meshtastic.core.navigation.NodesRoutes
|
||||
import org.meshtastic.core.navigation.NodesRoute
|
||||
import org.meshtastic.core.navigation.Route
|
||||
import org.meshtastic.core.navigation.SettingsRoutes
|
||||
import org.meshtastic.core.navigation.SettingsRoute
|
||||
import org.meshtastic.feature.settings.AboutScreen
|
||||
import org.meshtastic.feature.settings.AdministrationScreen
|
||||
import org.meshtastic.feature.settings.DeviceConfigurationScreen
|
||||
|
|
@ -74,10 +74,10 @@ fun getRadioConfigViewModel(backStack: NavBackStack<NavKey>): RadioConfigViewMod
|
|||
val viewModel = koinViewModel<RadioConfigViewModel>()
|
||||
val destNum =
|
||||
remember(backStack.toList()) {
|
||||
backStack.lastOrNull { it is SettingsRoutes.Settings }?.let { (it as SettingsRoutes.Settings).destNum }
|
||||
backStack.lastOrNull { it is SettingsRoute.Settings }?.let { (it as SettingsRoute.Settings).destNum }
|
||||
?: backStack
|
||||
.lastOrNull { it is SettingsRoutes.SettingsGraph }
|
||||
?.let { (it as SettingsRoutes.SettingsGraph).destNum }
|
||||
.lastOrNull { it is SettingsRoute.SettingsGraph }
|
||||
?.let { (it as SettingsRoute.SettingsGraph).destNum }
|
||||
}
|
||||
SideEffect { viewModel.initDestNum(destNum) }
|
||||
return viewModel
|
||||
|
|
@ -85,25 +85,25 @@ fun getRadioConfigViewModel(backStack: NavBackStack<NavKey>): RadioConfigViewMod
|
|||
|
||||
@Suppress("LongMethod", "CyclomaticComplexMethod")
|
||||
fun EntryProviderScope<NavKey>.settingsGraph(backStack: NavBackStack<NavKey>) {
|
||||
entry<SettingsRoutes.SettingsGraph> {
|
||||
entry<SettingsRoute.SettingsGraph> {
|
||||
SettingsMainScreen(
|
||||
settingsViewModel = koinViewModel(),
|
||||
radioConfigViewModel = getRadioConfigViewModel(backStack),
|
||||
onClickNodeChip = { backStack.add(NodesRoutes.NodeDetail(it)) },
|
||||
onClickNodeChip = { backStack.add(NodesRoute.NodeDetail(it)) },
|
||||
onNavigate = { backStack.add(it) },
|
||||
)
|
||||
}
|
||||
|
||||
entry<SettingsRoutes.Settings> {
|
||||
entry<SettingsRoute.Settings> {
|
||||
SettingsMainScreen(
|
||||
settingsViewModel = koinViewModel(),
|
||||
radioConfigViewModel = getRadioConfigViewModel(backStack),
|
||||
onClickNodeChip = { backStack.add(NodesRoutes.NodeDetail(it)) },
|
||||
onClickNodeChip = { backStack.add(NodesRoute.NodeDetail(it)) },
|
||||
onNavigate = { backStack.add(it) },
|
||||
)
|
||||
}
|
||||
|
||||
entry<SettingsRoutes.DeviceConfiguration> {
|
||||
entry<SettingsRoute.DeviceConfiguration> {
|
||||
DeviceConfigurationScreen(
|
||||
viewModel = getRadioConfigViewModel(backStack),
|
||||
onBack = { backStack.removeLastOrNull() },
|
||||
|
|
@ -111,7 +111,7 @@ fun EntryProviderScope<NavKey>.settingsGraph(backStack: NavBackStack<NavKey>) {
|
|||
)
|
||||
}
|
||||
|
||||
entry<SettingsRoutes.ModuleConfiguration> {
|
||||
entry<SettingsRoute.ModuleConfiguration> {
|
||||
val settingsViewModel: SettingsViewModel = koinViewModel()
|
||||
val excludedModulesUnlocked by settingsViewModel.excludedModulesUnlocked.collectAsStateWithLifecycle()
|
||||
ModuleConfigurationScreen(
|
||||
|
|
@ -122,11 +122,11 @@ fun EntryProviderScope<NavKey>.settingsGraph(backStack: NavBackStack<NavKey>) {
|
|||
)
|
||||
}
|
||||
|
||||
entry<SettingsRoutes.Administration> {
|
||||
entry<SettingsRoute.Administration> {
|
||||
AdministrationScreen(viewModel = getRadioConfigViewModel(backStack), onBack = { backStack.removeLastOrNull() })
|
||||
}
|
||||
|
||||
entry<SettingsRoutes.CleanNodeDb> {
|
||||
entry<SettingsRoute.CleanNodeDb> {
|
||||
val viewModel: CleanNodeDatabaseViewModel = koinViewModel()
|
||||
CleanNodeDatabaseScreen(viewModel = viewModel)
|
||||
}
|
||||
|
|
@ -185,16 +185,16 @@ fun EntryProviderScope<NavKey>.settingsGraph(backStack: NavBackStack<NavKey>) {
|
|||
}
|
||||
}
|
||||
|
||||
entry<SettingsRoutes.DebugPanel> {
|
||||
entry<SettingsRoute.DebugPanel> {
|
||||
val viewModel: DebugViewModel = koinViewModel()
|
||||
DebugScreen(viewModel = viewModel, onNavigateUp = { backStack.removeLastOrNull() })
|
||||
}
|
||||
|
||||
entry<SettingsRoutes.About> {
|
||||
entry<SettingsRoute.About> {
|
||||
AboutScreen(onNavigateUp = { backStack.removeLastOrNull() }, jsonProvider = { getAboutLibrariesJson() })
|
||||
}
|
||||
|
||||
entry<SettingsRoutes.FilterSettings> {
|
||||
entry<SettingsRoute.FilterSettings> {
|
||||
val viewModel: FilterSettingsViewModel = koinViewModel()
|
||||
FilterSettingsScreen(viewModel = viewModel, onBack = { backStack.removeLastOrNull() })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ import org.jetbrains.compose.resources.DrawableResource
|
|||
import org.jetbrains.compose.resources.StringResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.jetbrains.compose.resources.vectorResource
|
||||
import org.meshtastic.core.navigation.FirmwareRoutes
|
||||
import org.meshtastic.core.navigation.FirmwareRoute
|
||||
import org.meshtastic.core.navigation.Route
|
||||
import org.meshtastic.core.navigation.SettingsRoutes
|
||||
import org.meshtastic.core.navigation.SettingsRoute
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.administration
|
||||
import org.meshtastic.core.resources.advanced_title
|
||||
|
|
@ -125,7 +125,7 @@ private fun DeviceConfigSection(isManaged: Boolean, enabled: Boolean, onNavigate
|
|||
trailingIcon = MeshtasticIcons.KeyboardArrowRight,
|
||||
enabled = enabled,
|
||||
) {
|
||||
onNavigate(SettingsRoutes.DeviceConfiguration)
|
||||
onNavigate(SettingsRoute.DeviceConfiguration)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -142,7 +142,7 @@ private fun ModuleSettingsSection(isManaged: Boolean, enabled: Boolean, onNaviga
|
|||
trailingIcon = MeshtasticIcons.KeyboardArrowRight,
|
||||
enabled = enabled,
|
||||
) {
|
||||
onNavigate(SettingsRoutes.ModuleConfiguration)
|
||||
onNavigate(SettingsRoute.ModuleConfiguration)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -181,7 +181,7 @@ private fun AdministrationSection(enabled: Boolean, onNavigate: (Route) -> Unit)
|
|||
trailingIconTint = MaterialTheme.colorScheme.error,
|
||||
enabled = enabled,
|
||||
) {
|
||||
onNavigate(SettingsRoutes.Administration)
|
||||
onNavigate(SettingsRoute.Administration)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -198,7 +198,7 @@ private fun AdvancedSection(isManaged: Boolean, isOtaCapable: Boolean, enabled:
|
|||
text = stringResource(Res.string.firmware_update_title),
|
||||
leadingIcon = MeshtasticIcons.SystemUpdate,
|
||||
enabled = enabled,
|
||||
onClick = { onNavigate(FirmwareRoutes.FirmwareUpdate) },
|
||||
onClick = { onNavigate(FirmwareRoute.FirmwareUpdate) },
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -206,14 +206,14 @@ private fun AdvancedSection(isManaged: Boolean, isOtaCapable: Boolean, enabled:
|
|||
text = stringResource(Res.string.clean_node_database_title),
|
||||
leadingIcon = MeshtasticIcons.CleaningServices,
|
||||
enabled = enabled,
|
||||
onClick = { onNavigate(SettingsRoutes.CleanNodeDb) },
|
||||
onClick = { onNavigate(SettingsRoute.CleanNodeDb) },
|
||||
)
|
||||
|
||||
ListItem(
|
||||
text = stringResource(Res.string.debug_panel),
|
||||
leadingIcon = MeshtasticIcons.BugReport,
|
||||
enabled = enabled,
|
||||
onClick = { onNavigate(SettingsRoutes.DebugPanel) },
|
||||
onClick = { onNavigate(SettingsRoute.DebugPanel) },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,12 +20,12 @@ import androidx.navigation3.runtime.EntryProviderScope
|
|||
import androidx.navigation3.runtime.NavBackStack
|
||||
import androidx.navigation3.runtime.NavKey
|
||||
import org.koin.compose.viewmodel.koinViewModel
|
||||
import org.meshtastic.core.navigation.ChannelsRoutes
|
||||
import org.meshtastic.core.navigation.ChannelsRoute
|
||||
import org.meshtastic.feature.settings.radio.RadioConfigViewModel
|
||||
|
||||
/** Navigation graph for for the top level ChannelScreen - [ChannelsRoutes.Channels]. */
|
||||
/** Navigation graph for for the top level ChannelScreen - [ChannelsRoute.Channels]. */
|
||||
fun EntryProviderScope<NavKey>.channelsGraph(backStack: NavBackStack<NavKey>) {
|
||||
entry<ChannelsRoutes.ChannelsGraph> {
|
||||
entry<ChannelsRoute.ChannelsGraph> {
|
||||
ChannelScreen(
|
||||
radioConfigViewModel = koinViewModel<RadioConfigViewModel>(),
|
||||
onNavigate = { route -> backStack.add(route) },
|
||||
|
|
@ -33,7 +33,7 @@ fun EntryProviderScope<NavKey>.channelsGraph(backStack: NavBackStack<NavKey>) {
|
|||
)
|
||||
}
|
||||
|
||||
entry<ChannelsRoutes.Channels> {
|
||||
entry<ChannelsRoute.Channels> {
|
||||
ChannelScreen(
|
||||
radioConfigViewModel = koinViewModel<RadioConfigViewModel>(),
|
||||
onNavigate = { route -> backStack.add(route) },
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@ import kotlinx.coroutines.launch
|
|||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.database.DatabaseConstants
|
||||
import org.meshtastic.core.navigation.Route
|
||||
import org.meshtastic.core.navigation.SettingsRoutes
|
||||
import org.meshtastic.core.navigation.WifiProvisionRoutes
|
||||
import org.meshtastic.core.navigation.SettingsRoute
|
||||
import org.meshtastic.core.navigation.WifiProvisionRoute
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.acknowledgements
|
||||
import org.meshtastic.core.resources.app_settings
|
||||
|
|
@ -202,7 +202,7 @@ fun DesktopSettingsScreen(
|
|||
|
||||
ExpressiveSection(title = stringResource(Res.string.wifi_devices)) {
|
||||
ListItem(text = stringResource(Res.string.wifi_devices), leadingIcon = MeshtasticIcons.Wifi) {
|
||||
onNavigate(WifiProvisionRoutes.WifiProvision())
|
||||
onNavigate(WifiProvisionRoute.WifiProvision())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ fun DesktopSettingsScreen(
|
|||
appVersionName = settingsViewModel.appVersionName,
|
||||
excludedModulesUnlocked = excludedModulesUnlocked,
|
||||
onUnlockExcludedModules = { settingsViewModel.unlockExcludedModules() },
|
||||
onNavigateToAbout = { onNavigate(SettingsRoutes.About) },
|
||||
onNavigateToAbout = { onNavigate(SettingsRoute.About) },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
*/
|
||||
package org.meshtastic.feature.settings.navigation
|
||||
|
||||
import org.meshtastic.core.navigation.SettingsRoutes
|
||||
import org.meshtastic.core.navigation.SettingsRoute
|
||||
|
||||
actual fun getAboutLibrariesJson(): String =
|
||||
SettingsRoutes::class.java.getResource("/aboutlibraries.json")?.readText() ?: ""
|
||||
SettingsRoute::class.java.getResource("/aboutlibraries.json")?.readText() ?: ""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue