Testing, Remove ObjectBox

This commit is contained in:
Dimitris
2026-02-28 13:10:48 +01:00
parent eb6d3e4ef7
commit a468529ca4
35 changed files with 1148 additions and 431 deletions

View File

@@ -2,7 +2,6 @@ package com.kouros.navigation
import android.app.Application
import android.content.Context
import com.kouros.navigation.data.ObjectBox
import com.kouros.navigation.di.appModule
import com.kouros.navigation.model.NavigationViewModel
import com.kouros.navigation.utils.NavigationUtils.getViewModel
@@ -15,7 +14,6 @@ class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
ObjectBox.init(this)
appContext = applicationContext
navigationViewModel = getViewModel(appContext!!)
startKoin {

View File

@@ -36,7 +36,6 @@ fun test(applicationContext: Context, routeModel: RouteModel) {
for ((index, step) in routeModel.curLeg.steps.withIndex()) {
for ((windex, waypoint) in step.maneuver.waypoints.withIndex()) {
routeModel.updateLocation(
applicationContext,
location(waypoint[0], waypoint[1]), navigationViewModel
)
val step = routeModel.currentStep()
@@ -81,7 +80,6 @@ fun testSingleUpdate(
mock.setMockLocation(latitude, longitude, 0F)
} else {
routeModel.updateLocation(
applicationContext,
location(longitude, latitude), navigationViewModel
)
}
@@ -110,10 +108,8 @@ fun gpx(context: Context, mock: MockLocation) {
speed = ext.speed
mock.curSpeed = speed.toFloat()
}
val duration = p.time.millis - lastTime.millis
val bearing = lastLocation.bearingTo(curLocation)
println("Bearing $bearing")
mock.setMockLocation(p.latitude, p.longitude, bearing)
if (duration > 0) {
delay(duration / 5)

View File

@@ -66,9 +66,12 @@ import com.kouros.navigation.ui.navigation.AppNavGraph
import com.kouros.navigation.ui.theme.NavigationTheme
import com.kouros.navigation.utils.GeoUtils.snapLocation
import com.kouros.navigation.utils.bearing
import com.kouros.navigation.utils.getSettingsRepository
import com.kouros.navigation.utils.getSettingsViewModel
import com.kouros.navigation.utils.location
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import org.maplibre.compose.camera.CameraPosition
import org.maplibre.compose.location.DesiredAccuracy
import org.maplibre.compose.location.Location
@@ -83,7 +86,7 @@ class MainActivity : ComponentActivity() {
val routeModel = RouteModel()
var tilt = 50.0
val useMock = false
val type = SimulationType.GPX
val type = SimulationType.SIMULATE
val stepData: MutableLiveData<StepData> by lazy {
MutableLiveData()
@@ -95,7 +98,13 @@ class MainActivity : ComponentActivity() {
var lastLocation = location(0.0, 0.0)
val observer = Observer<String> { newRoute ->
if (newRoute.isNotEmpty()) {
routeModel.startNavigation(newRoute, applicationContext)
val repository = getSettingsRepository(applicationContext)
val routingEngine = runBlocking { repository.routingEngineFlow.first() }
routeModel.navState = routeModel.navState.copy(routingEngine = routingEngine)
routeModel.startNavigation(newRoute)
if (routeModel.hasLegs()) {
getSettingsViewModel(applicationContext).onLastRouteChanged(newRoute)
}
routeData.value = routeModel.curRoute.routeGeoJson
if (useMock) {
when (type) {
@@ -189,7 +198,7 @@ class MainActivity : ComponentActivity() {
val scaffoldState = rememberBottomSheetScaffoldState()
val snackbarHostState = remember { SnackbarHostState() }
val scope = rememberCoroutineScope()
val sheetPeekHeight = 250.dp
val sheetPeekHeight = 180.dp
val sheetPeekHeightState = remember { mutableStateOf(sheetPeekHeight) }
val locationProvider = rememberDefaultLocationProvider(
@@ -324,7 +333,7 @@ class MainActivity : ComponentActivity() {
with(routeModel) {
if (isNavigating()) {
updateLocation(applicationContext, currentLocation, navigationViewModel)
updateLocation( currentLocation, navigationViewModel)
stepData.value = currentStep()
nextStepData.value = nextStep()
if (navState.maneuverType in 39..42 && routeCalculator.leftStepDistance() < DESTINATION_ARRIVAL_DISTANCE) {
@@ -352,7 +361,8 @@ class MainActivity : ComponentActivity() {
val latitude = routeModel.curRoute.waypoints[0][1]
val longitude = routeModel.curRoute.waypoints[0][0]
closeSheet()
routeModel.stopNavigation(applicationContext)
routeModel.stopNavigation()
getSettingsViewModel(applicationContext).onLastRouteChanged("")
if (useMock) {
mock.setMockLocation(latitude, longitude, 0F)
}

View File

@@ -97,7 +97,7 @@ fun Home(
) {
Row(horizontalArrangement = Arrangement.SpaceBetween) {
Button(onClick = {
val places = viewModel.loadRecentPlace()
val places = viewModel.loadRecentPlace(applicationContext)
val toLocation = location(places.first()!!.longitude, places.first()!!.latitude)
viewModel.loadRoute(applicationContext, location, toLocation, 0F)
closeSheet()
@@ -168,7 +168,7 @@ fun SearchBar(
}
if (searchResults.isNotEmpty()) {
Text("Search places")
SearchPlaces(searchResults, viewModel, context, location, closeSheet)
SearchPlaces( searchResults, viewModel, context, location, closeSheet)
}
}
}
@@ -211,7 +211,7 @@ private fun SearchPlaces(
city = place.address.city,
street = place.address.road
)
viewModel.saveRecent(pl)
viewModel.saveRecent(context,pl)
val toLocation =
location(place.lon.toDouble(), place.lat.toDouble())
viewModel.loadRoute(context, location, toLocation, 0F)