mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-05-12 00:28:20 -04:00
refactor: remove getPacketId() from public interface
- Remove getPacketId() from MessageSender interface (SDK owns packet IDs) - Remove requestId parameter from requestTraceroute/requestNeighborInfo - Make getPacketId() private in SdkRadioController (still used internally for delivery tracking correlation) - Replace radioController.getPacketId() in map with local Random.nextInt() for waypoint ID generation (only needs uniqueness, not SDK correlation) - Remove messageSender dependency from CommonNodeRequestActions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -318,7 +318,7 @@ class SdkRadioController(
|
||||
c.requestNodeInfo(NodeId(destNum))
|
||||
}
|
||||
|
||||
override suspend fun requestTraceroute(requestId: Int, destNum: Int) {
|
||||
override suspend fun requestTraceroute(destNum: Int) {
|
||||
val c = requireClient()
|
||||
c.routing.traceRoute(NodeId(destNum))
|
||||
}
|
||||
@@ -338,7 +338,7 @@ class SdkRadioController(
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun requestNeighborInfo(requestId: Int, destNum: Int) {
|
||||
override suspend fun requestNeighborInfo(destNum: Int) {
|
||||
val c = requireClient()
|
||||
c.routing.requestNeighborInfo(NodeId(destNum))
|
||||
}
|
||||
@@ -381,7 +381,7 @@ class SdkRadioController(
|
||||
|
||||
// ── Utility ─────────────────────────────────────────────────────────────
|
||||
|
||||
override fun getPacketId(): Int = packetIdCounter.getAndIncrement()
|
||||
private fun getPacketId(): Int = packetIdCounter.getAndIncrement()
|
||||
|
||||
override fun startProvideLocation() {
|
||||
// Location provision is managed at the app level; no-op here
|
||||
|
||||
@@ -41,8 +41,6 @@ class RadioConfigUseCaseTest {
|
||||
fun `setOwner calls radioController`() = runTest {
|
||||
val user = User(long_name = "New Name")
|
||||
useCase.setOwner(1234, user)
|
||||
// Verify call implicitly or by adding tracking to FakeRadioController if needed.
|
||||
// FakeRadioController already has getPacketId returning 1.
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -20,8 +20,8 @@ package org.meshtastic.core.model
|
||||
interface DataRequester {
|
||||
suspend fun requestPosition(destNum: Int, currentPosition: Position)
|
||||
suspend fun requestUserInfo(destNum: Int)
|
||||
suspend fun requestTraceroute(requestId: Int, destNum: Int)
|
||||
suspend fun requestTraceroute(destNum: Int)
|
||||
suspend fun requestTelemetry(destNum: Int, type: TelemetryType)
|
||||
suspend fun requestNeighborInfo(requestId: Int, destNum: Int)
|
||||
suspend fun requestNeighborInfo(destNum: Int)
|
||||
suspend fun requestStoreForwardHistory(since: Int? = null, serverNodeNum: Int? = null): Boolean
|
||||
}
|
||||
|
||||
@@ -19,5 +19,4 @@ package org.meshtastic.core.model
|
||||
/** Focused interface for sending messages over the mesh. */
|
||||
interface MessageSender : ConnectionAware {
|
||||
suspend fun sendMessage(packet: DataPacket)
|
||||
fun getPacketId(): Int
|
||||
}
|
||||
|
||||
@@ -140,11 +140,11 @@ class FakeRadioController :
|
||||
|
||||
override suspend fun requestUserInfo(destNum: Int) {}
|
||||
|
||||
override suspend fun requestTraceroute(requestId: Int, destNum: Int) {}
|
||||
override suspend fun requestTraceroute(destNum: Int) {}
|
||||
|
||||
override suspend fun requestTelemetry(destNum: Int, type: TelemetryType) {}
|
||||
|
||||
override suspend fun requestNeighborInfo(requestId: Int, destNum: Int) {}
|
||||
override suspend fun requestNeighborInfo(destNum: Int) {}
|
||||
|
||||
override suspend fun requestStoreForwardHistory(since: Int?, serverNodeNum: Int?): Boolean {
|
||||
lastStoreForwardHistoryRequest = since to serverNodeNum
|
||||
@@ -162,8 +162,6 @@ class FakeRadioController :
|
||||
block(edit)
|
||||
}
|
||||
|
||||
override fun getPacketId(): Int = 1
|
||||
|
||||
override fun startProvideLocation() {
|
||||
startProvideLocationCalled = true
|
||||
}
|
||||
|
||||
@@ -162,7 +162,8 @@ open class BaseMapViewModel(
|
||||
safeLaunch(context = ioDispatcher, tag = "sendDataPacket") { radioController.sendMessage(p) }
|
||||
}
|
||||
|
||||
fun generatePacketId(): Int = radioController.getPacketId()
|
||||
/** Generate a unique ID for a new waypoint. */
|
||||
fun generatePacketId(): Int = kotlin.random.Random.nextInt(1, Int.MAX_VALUE)
|
||||
|
||||
data class MapFilterState(
|
||||
val onlyFavorites: Boolean,
|
||||
|
||||
@@ -27,7 +27,6 @@ import org.koin.core.annotation.Single
|
||||
import org.meshtastic.core.common.util.ioDispatcher
|
||||
import org.meshtastic.core.common.util.nowMillis
|
||||
import org.meshtastic.core.model.DataRequester
|
||||
import org.meshtastic.core.model.MessageSender
|
||||
import org.meshtastic.core.model.Position
|
||||
import org.meshtastic.core.model.TelemetryType
|
||||
import org.meshtastic.core.resources.Res
|
||||
@@ -50,7 +49,6 @@ import org.meshtastic.core.ui.util.SnackbarManager
|
||||
class CommonNodeRequestActions
|
||||
constructor(
|
||||
private val dataRequester: DataRequester,
|
||||
private val messageSender: MessageSender,
|
||||
private val snackbarManager: SnackbarManager,
|
||||
) : NodeRequestActions {
|
||||
|
||||
@@ -78,8 +76,7 @@ constructor(
|
||||
scope.launch(ioDispatcher) {
|
||||
runCatching {
|
||||
Logger.i { "Requesting NeighborInfo for '$destNum'" }
|
||||
val packetId = messageSender.getPacketId()
|
||||
dataRequester.requestNeighborInfo(packetId, destNum)
|
||||
dataRequester.requestNeighborInfo(destNum)
|
||||
_lastRequestNeighborTimes.update { it + (destNum to nowMillis) }
|
||||
showFeedback(UiText.Resource(Res.string.requesting_from, Res.string.neighbor_info, longName))
|
||||
}.onFailure { e -> Logger.e(e) { "requestNeighborInfo failed" } }
|
||||
@@ -123,8 +120,7 @@ constructor(
|
||||
scope.launch(ioDispatcher) {
|
||||
runCatching {
|
||||
Logger.i { "Requesting traceroute for '$destNum'" }
|
||||
val packetId = messageSender.getPacketId()
|
||||
dataRequester.requestTraceroute(packetId, destNum)
|
||||
dataRequester.requestTraceroute(destNum)
|
||||
_lastTracerouteTime.value = nowMillis
|
||||
showFeedback(UiText.Resource(Res.string.requesting_from, Res.string.traceroute, longName))
|
||||
}.onFailure { e -> Logger.e(e) { "requestTraceroute failed" } }
|
||||
|
||||
Reference in New Issue
Block a user