This commit is contained in:
Dimitris
2026-01-20 13:21:58 +01:00
parent e22865bd73
commit 7db7cba4fb
21 changed files with 3595 additions and 1218 deletions

View File

@@ -14,8 +14,8 @@ android {
applicationId = "com.kouros.navigation"
minSdk = 33
targetSdk = 36
versionCode = 23
versionName = "0.1.3.23"
versionCode = 28
versionName = "0.1.3.28"
base.archivesName = "navi-$versionName"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

View File

@@ -43,8 +43,8 @@ import com.kouros.data.R
import com.kouros.navigation.MainApplication.Companion.navigationViewModel
import com.kouros.navigation.data.Constants
import com.kouros.navigation.data.Constants.DESTINATION_ARRIVAL_DISTANCE
import com.kouros.navigation.data.Constants.home2Location
import com.kouros.navigation.data.Constants.homeLocation
import com.kouros.navigation.data.Constants.homeHohenwaldeck
import com.kouros.navigation.data.Constants.homeVogelhart
import com.kouros.navigation.data.StepData
import com.kouros.navigation.model.BaseStyleModel
import com.kouros.navigation.model.MockLocation
@@ -62,7 +62,6 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import org.joda.time.DateTime
import org.koin.androidx.viewmodel.ext.android.viewModel
import org.maplibre.compose.camera.CameraPosition
import org.maplibre.compose.location.DesiredAccuracy
import org.maplibre.compose.location.Location
@@ -89,10 +88,12 @@ class MainActivity : ComponentActivity() {
val observer = Observer<String> { newRoute ->
if (newRoute.isNotEmpty()) {
routeModel.startNavigation(newRoute, applicationContext)
routeData.value = routeModel.route.routeGeoJson
simulate()
//test()
///gpx(applicationContext)
routeData.value = routeModel.curRoute.routeGeoJson
if (useMock) {
simulate()
//test()
///gpx(applicationContext)
}
}
}
val cameraPosition = MutableLiveData(
@@ -109,8 +110,6 @@ class MainActivity : ComponentActivity() {
private var loadRecentPlaces = false
private var overpass = false
lateinit var baseStyle: BaseStyle.Json
init {
@@ -132,8 +131,8 @@ class MainActivity : ComponentActivity() {
if (useMock) {
mock = MockLocation(locationManager)
mock.setMockLocation(
home2Location.latitude,
home2Location.longitude
homeHohenwaldeck.latitude,
homeHohenwaldeck.longitude
)
}
}
@@ -157,7 +156,7 @@ class MainActivity : ComponentActivity() {
Content()
// auto navigate
if (useMock) {
//navigationViewModel.loadRoute(applicationContext, homeLocation, home2Location, 0F)
navigationViewModel.loadRoute(applicationContext, homeHohenwaldeck, homeVogelhart, 0F)
}
},
)
@@ -255,7 +254,7 @@ class MainActivity : ComponentActivity() {
if (isNavigating()) {
updateLocation(currentLocation, navigationViewModel)
stepData.value = currentStep()
if (route.currentStep + 1 <= legs.steps.size) {
if (route.currentStep + 1 <= curLeg.steps.size) {
nextStepData.value = nextStep()
}
if (maneuverType in 39..42
@@ -284,8 +283,8 @@ class MainActivity : ComponentActivity() {
}
fun stopNavigation(closeSheet: () -> Unit) {
val latitude = routeModel.route.waypoints!![0][1]
val longitude = routeModel.route.waypoints!![0][0]
val latitude = routeModel.curRoute.waypoints[0][1]
val longitude = routeModel.curRoute.waypoints[0][0]
closeSheet()
routeModel.stopNavigation()
if (useMock) {
@@ -325,10 +324,10 @@ class MainActivity : ComponentActivity() {
fun simulate() {
CoroutineScope(Dispatchers.IO).launch {
for ((index, waypoint) in routeModel.route.waypoints!!.withIndex()) {
for ((index, waypoint) in routeModel.curRoute.waypoints.withIndex()) {
if (routeModel.isNavigating()) {
var deviation = 0.0
if (index in 0..routeModel.route.waypoints!!.size) {
if (index in 0..routeModel.curRoute.waypoints.size) {
mock.setMockLocation(waypoint[1] + deviation, waypoint[0])
delay(500L) //
}
@@ -338,7 +337,7 @@ class MainActivity : ComponentActivity() {
}
fun test() {
for ((index, step) in routeModel.legs.steps.withIndex()) {
for ((index, step) in routeModel.curLeg.steps.withIndex()) {
if (index in 3..3) {
for ((windex, waypoint) in step.maneuver.waypoints.withIndex()) {
routeModel.updateLocation(
@@ -349,7 +348,7 @@ class MainActivity : ComponentActivity() {
if (step.leftStepDistance == 70.0) {
println("")
}
if (index + 1 <= routeModel.legs.steps.size) {
if (index + 1 <= routeModel.curLeg.steps.size) {
//nextStepData.value = routeModel.nextStep()
}
}