From 3984c97e39b154fd6948fa169408fa367562902a Mon Sep 17 00:00:00 2001 From: Phil Oliver <3497406+poliver@users.noreply.github.com> Date: Sun, 12 Oct 2025 16:27:27 -0400 Subject: [PATCH] Move `NodeMapScreen` to `:feature:map` (#3443) --- .../java/com/geeksville/mesh/navigation/NodesNavigation.kt | 2 +- .../org/meshtastic/feature/map}/node/NodeMapScreen.kt | 3 +-- .../org/meshtastic/feature/map}/node/NodeMapScreen.kt | 3 +-- feature/messaging/detekt-baseline.xml | 6 ------ 4 files changed, 3 insertions(+), 11 deletions(-) rename {app/src/fdroid/java/com/geeksville/mesh/ui => feature/map/src/fdroid/kotlin/org/meshtastic/feature/map}/node/NodeMapScreen.kt (96%) rename {app/src/google/java/com/geeksville/mesh/ui => feature/map/src/google/kotlin/org/meshtastic/feature/map}/node/NodeMapScreen.kt (95%) diff --git a/app/src/main/java/com/geeksville/mesh/navigation/NodesNavigation.kt b/app/src/main/java/com/geeksville/mesh/navigation/NodesNavigation.kt index 7611bf388..c646c3388 100644 --- a/app/src/main/java/com/geeksville/mesh/navigation/NodesNavigation.kt +++ b/app/src/main/java/com/geeksville/mesh/navigation/NodesNavigation.kt @@ -50,13 +50,13 @@ import com.geeksville.mesh.ui.metrics.SignalMetricsScreen import com.geeksville.mesh.ui.metrics.TracerouteLogScreen import com.geeksville.mesh.ui.node.NodeDetailScreen import com.geeksville.mesh.ui.node.NodeListScreen -import com.geeksville.mesh.ui.node.NodeMapScreen import org.meshtastic.core.navigation.ContactsRoutes import org.meshtastic.core.navigation.DEEP_LINK_BASE_URI import org.meshtastic.core.navigation.NodeDetailRoutes import org.meshtastic.core.navigation.NodesRoutes import org.meshtastic.core.navigation.Route import org.meshtastic.core.strings.R +import org.meshtastic.feature.map.node.NodeMapScreen import org.meshtastic.feature.map.node.NodeMapViewModel fun NavGraphBuilder.nodesGraph(navController: NavHostController) { diff --git a/app/src/fdroid/java/com/geeksville/mesh/ui/node/NodeMapScreen.kt b/feature/map/src/fdroid/kotlin/org/meshtastic/feature/map/node/NodeMapScreen.kt similarity index 96% rename from app/src/fdroid/java/com/geeksville/mesh/ui/node/NodeMapScreen.kt rename to feature/map/src/fdroid/kotlin/org/meshtastic/feature/map/node/NodeMapScreen.kt index 3e5414b13..c79e813e7 100644 --- a/app/src/fdroid/java/com/geeksville/mesh/ui/node/NodeMapScreen.kt +++ b/feature/map/src/fdroid/kotlin/org/meshtastic/feature/map/node/NodeMapScreen.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.geeksville.mesh.ui.node +package org.meshtastic.feature.map.node import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable @@ -29,7 +29,6 @@ import org.meshtastic.feature.map.addCopyright import org.meshtastic.feature.map.addPolyline import org.meshtastic.feature.map.addPositionMarkers import org.meshtastic.feature.map.addScaleBarOverlay -import org.meshtastic.feature.map.node.NodeMapViewModel import org.meshtastic.feature.map.rememberMapViewWithLifecycle import org.osmdroid.util.BoundingBox import org.osmdroid.util.GeoPoint diff --git a/app/src/google/java/com/geeksville/mesh/ui/node/NodeMapScreen.kt b/feature/map/src/google/kotlin/org/meshtastic/feature/map/node/NodeMapScreen.kt similarity index 95% rename from app/src/google/java/com/geeksville/mesh/ui/node/NodeMapScreen.kt rename to feature/map/src/google/kotlin/org/meshtastic/feature/map/node/NodeMapScreen.kt index c92e4867d..9263f0efa 100644 --- a/app/src/google/java/com/geeksville/mesh/ui/node/NodeMapScreen.kt +++ b/feature/map/src/google/kotlin/org/meshtastic/feature/map/node/NodeMapScreen.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.geeksville.mesh.ui.node +package org.meshtastic.feature.map.node import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.padding @@ -26,7 +26,6 @@ import androidx.compose.ui.Modifier import androidx.lifecycle.compose.collectAsStateWithLifecycle import org.meshtastic.core.ui.component.MainAppBar import org.meshtastic.feature.map.MapView -import org.meshtastic.feature.map.node.NodeMapViewModel @Composable fun NodeMapScreen(nodeMapViewModel: NodeMapViewModel, onNavigateUp: () -> Unit) { diff --git a/feature/messaging/detekt-baseline.xml b/feature/messaging/detekt-baseline.xml index 8f7848890..e117b9886 100644 --- a/feature/messaging/detekt-baseline.xml +++ b/feature/messaging/detekt-baseline.xml @@ -17,15 +17,9 @@ LambdaParameterInRestartableEffect:MessageList.kt$onUnreadChanged LongParameterList:MessageViewModel.kt$MessageViewModel$( private val nodeRepository: NodeRepository, radioConfigRepository: RadioConfigRepository, quickChatActionRepository: QuickChatActionRepository, private val serviceRepository: ServiceRepository, private val packetRepository: PacketRepository, private val uiPrefs: UiPrefs, private val meshServiceNotifications: MeshServiceNotifications, ) ModifierMissing:Message.kt$MessageScreen - ModifierMissing:MessageActions.kt$MessageStatusButton - ModifierMissing:MessageActions.kt$ReactionButton - ModifierMissing:MessageActions.kt$ReplyButton - ModifierMissing:Reaction.kt$ReactionDialog ModifierNotUsedAtRoot:QuickChat.kt$modifier = modifier.fillMaxSize().padding(innerPadding) MutableStateParam:MessageList.kt$selectedIds ParameterNaming:MessageList.kt$onUnreadChanged - PreviewPublic:Reaction.kt$ReactionItemPreview - PreviewPublic:Reaction.kt$ReactionRowPreview TooManyFunctions:MessageViewModel.kt$MessageViewModel : ViewModel Wrapping:Message.kt${ event -> when (event) { is MessageScreenEvent.SendMessage -> { viewModel.sendMessage(event.text, contactKey, event.replyingToPacketId) if (event.replyingToPacketId != null) replyingToPacketId = null messageInputState.clearText() } is MessageScreenEvent.SendReaction -> viewModel.sendReaction(event.emoji, event.messageId, contactKey) is MessageScreenEvent.DeleteMessages -> { viewModel.deleteMessages(event.ids) selectedMessageIds.value = emptySet() showDeleteDialog = false } is MessageScreenEvent.ClearUnreadCount -> viewModel.clearUnreadCount(contactKey, event.lastReadMessageId) is MessageScreenEvent.NodeDetails -> navigateToNodeDetails(event.node.num) is MessageScreenEvent.SetTitle -> viewModel.setTitle(event.title) is MessageScreenEvent.NavigateToMessages -> navigateToMessages(event.contactKey) is MessageScreenEvent.NavigateToNodeDetails -> navigateToNodeDetails(event.nodeNum) MessageScreenEvent.NavigateBack -> onNavigateBack() is MessageScreenEvent.CopyToClipboard -> { clipboardManager.nativeClipboard.setPrimaryClip(ClipData.newPlainText(event.text, event.text)) selectedMessageIds.value = emptySet() } } }