This commit is contained in:
Dimitris
2026-01-06 08:25:27 +01:00
parent fdf2ee9f48
commit 7efa2685be
24 changed files with 226 additions and 88 deletions

View File

@@ -47,7 +47,6 @@ import com.kouros.navigation.model.BaseStyleModel
import com.kouros.navigation.model.MockLocation
import com.kouros.navigation.model.RouteModel
import com.kouros.navigation.ui.theme.NavigationTheme
import com.kouros.navigation.utils.GeoUtils.snapLocation
import com.kouros.navigation.utils.NavigationUtils.getIntKeyValue
import com.kouros.navigation.utils.bearing
import com.kouros.navigation.utils.calculateZoom
@@ -62,7 +61,6 @@ import org.maplibre.compose.location.Location
import org.maplibre.compose.location.rememberDefaultLocationProvider
import org.maplibre.compose.location.rememberUserLocationState
import org.maplibre.compose.style.BaseStyle
import org.maplibre.geojson.Point
import org.maplibre.spatialk.geojson.Position
import kotlin.time.Duration.Companion.seconds
@@ -222,6 +220,7 @@ class MainActivity : ComponentActivity() {
SearchSheet(applicationContext, navigationViewModel, lastLocation) { closeSheet() }
} else {
NavigationSheet(
applicationContext,
routeModel, step!!, nextStep!!,
{ stopNavigation { closeSheet() } },
{ simulateNavigation() }
@@ -274,7 +273,7 @@ class MainActivity : ComponentActivity() {
closeSheet()
routeModel.stopNavigation()
routeData.value = ""
stepData.value = StepData("", 0.0, 0, 0, 0, 0.0)
stepData.value = StepData("", 0.0, 0, 0,0, 0.0)
}
fun simulateNavigation() {
@@ -310,8 +309,11 @@ class MainActivity : ComponentActivity() {
if (routeModel.isNavigating()) {
for ((index, waypoint) in routeModel.route.waypoints!!.withIndex()) {
var deviation = 0.0
mock.setMockLocation(waypoint[1] + deviation, waypoint[0])
delay(500L) //
//if (index in 0..350 ) {
mock.setMockLocation(waypoint[1] + deviation, waypoint[0])
delay(500L) //
// }
}
}
}

View File

@@ -1,20 +1,20 @@
import android.content.Context
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.FlowRow
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.size
import androidx.compose.material3.Button
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon
import androidx.compose.material3.Text
import androidx.compose.material3.VerticalDivider
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.kouros.data.R
import com.kouros.navigation.data.Constants.NEXT_STEP_THRESHOLD
import com.kouros.navigation.data.StepData
import com.kouros.navigation.model.RouteModel
import com.kouros.navigation.utils.formatDateTime
@@ -23,6 +23,7 @@ import com.kouros.navigation.utils.round
@Composable
fun NavigationSheet(
applicationContext: Context,
routeModel: RouteModel,
step: StepData,
nextStep: StepData,
@@ -30,6 +31,14 @@ fun NavigationSheet(
simulateNavigation: () -> Unit,
) {
val distance = step.leftDistance.round(1)
step.lane.forEach {
if (it.indications.isNotEmpty()) {
routeModel.createLaneIcon(applicationContext, step)
}
}
Column {
FlowRow(horizontalArrangement = Arrangement.SpaceEvenly) {
Text(formatDateTime(step.arrivalTime), fontSize = 22.sp)