Speed radar

This commit is contained in:
Dimitris
2025-12-19 15:03:32 +01:00
parent b9030dbc50
commit 9e453dc955
31 changed files with 597 additions and 412 deletions

View File

@@ -14,8 +14,8 @@ android {
applicationId = "com.kouros.navigation"
minSdk = 33
targetSdk = 36
versionCode = 10
versionName = "0.1.3.10"
versionCode = 11
versionName = "0.1.3.11"
base.archivesName = "navi-$versionName"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

View File

@@ -6,6 +6,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- <uses-permission android:name="android.permission.READ_CONTACTS"/>-->
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"
tools:ignore="MockLocation" />
@@ -18,6 +19,7 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:enableOnBackInvokedCallback="true"
android:theme="@style/Theme.Navigation">
<meta-data

View File

@@ -46,6 +46,7 @@ import com.google.android.gms.location.FusedLocationProviderClient
import com.google.android.gms.location.LocationServices
import com.kouros.data.R
import com.kouros.navigation.data.Constants
import com.kouros.navigation.data.Constants.DESTINATION_ARRIVAL_DISTANCE
import com.kouros.navigation.data.Constants.homeLocation
import com.kouros.navigation.data.NavigationRepository
import com.kouros.navigation.data.StepData
@@ -87,8 +88,8 @@ class MainActivity : ComponentActivity() {
if (newRoute.isNotEmpty()) {
routeModel.startNavigation(newRoute)
routeData.value = routeModel.route.routeGeoJson
//mock.setMockLocation(homeLocation.latitude, homeLocation.longitude)
simulate()
//test()
}
}
val cameraPosition = MutableLiveData(
@@ -237,10 +238,6 @@ class MainActivity : ComponentActivity() {
&& lastLocation.latitude != location.position.latitude
&& lastLocation.longitude != location.position.longitude
) {
if (lastLocation.latitude != 0.0 && !overpass) {
//viewModel.getAmenities(Constants.CHARGING_STATION, lastLocation)
//overpass = true
}
val currentLocation = location(location.position.longitude, location.position.latitude)
with(routeModel) {
if (isNavigating()) {
@@ -249,6 +246,13 @@ class MainActivity : ComponentActivity() {
if (route.currentManeuverIndex + 1 <= route.maneuvers.size) {
nextStepData.value = nextStep()
}
if (routeState.maneuverType == 39
&& leftStepDistance() < DESTINATION_ARRIVAL_DISTANCE
) {
stopNavigation()
routeState = routeState.copy(arrived = true)
routeData.value = ""
}
}
}
val bearing = bearing(lastLocation, currentLocation, cameraPosition.value!!.bearing)
@@ -312,4 +316,17 @@ class MainActivity : ComponentActivity() {
}
}
}
fun test() {
for ((index, loc) in routeModel.route.waypoints.withIndex()) {
if (index > 300) {
routeModel.updateLocation(location(loc[0], loc[1]))
routeModel.currentStep()
if (routeModel.route.currentManeuverIndex + 1 <= routeModel.route.maneuvers.size) {
nextStepData.value = routeModel.nextStep()
}
println(routeModel.routeState.maneuverType)
}
}
}
}