mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
Decouple NodeMapScreen from UIViewModel (#3257)
This commit is contained in:
parent
51ada3d6ff
commit
9aa0cf9335
4 changed files with 39 additions and 9 deletions
|
|
@ -28,7 +28,7 @@ import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
|||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.navigation.NavHostController
|
||||
import com.geeksville.mesh.model.MetricsViewModel
|
||||
import com.geeksville.mesh.model.UIViewModel
|
||||
import com.geeksville.mesh.ui.map.NodeMapViewModel
|
||||
import com.geeksville.mesh.ui.map.rememberMapViewWithLifecycle
|
||||
import com.geeksville.mesh.util.addCopyright
|
||||
import com.geeksville.mesh.util.addPolyline
|
||||
|
|
@ -42,14 +42,14 @@ private const val DEG_D = 1e-7
|
|||
@Composable
|
||||
fun NodeMapScreen(
|
||||
navController: NavHostController,
|
||||
@Suppress("UNUSED_PARAMETER") uiViewModel: UIViewModel = hiltViewModel(),
|
||||
viewModel: MetricsViewModel = hiltViewModel(),
|
||||
metricsViewModel: MetricsViewModel = hiltViewModel(),
|
||||
nodeMapViewModel: NodeMapViewModel = hiltViewModel(),
|
||||
) {
|
||||
val density = LocalDensity.current
|
||||
val state by viewModel.state.collectAsStateWithLifecycle()
|
||||
val state by metricsViewModel.state.collectAsStateWithLifecycle()
|
||||
val geoPoints = state.positionLogs.map { GeoPoint(it.latitudeI * DEG_D, it.longitudeI * DEG_D) }
|
||||
val cameraView = remember { BoundingBox.fromGeoPoints(geoPoints) }
|
||||
val mapView = rememberMapViewWithLifecycle(cameraView, viewModel.tileSource)
|
||||
val mapView = rememberMapViewWithLifecycle(cameraView, metricsViewModel.tileSource)
|
||||
|
||||
AndroidView(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
Loading…
Add table
Add a link
Reference in a new issue