diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1fd6c4f..d820230 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -17,8 +17,8 @@ android { applicationId = "com.kouros.navigation" minSdk = 33 targetSdk = 37 - versionCode = 118 - versionName = "0.3.1.118" + versionCode = 121 + versionName = "0.3.1.121" base.archivesName = "navi-$versionName" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/com/kouros/navigation/ui/search/SearchScreen.kt b/app/src/main/java/com/kouros/navigation/ui/search/SearchScreen.kt index 3c35cb2..ad96874 100644 --- a/app/src/main/java/com/kouros/navigation/ui/search/SearchScreen.kt +++ b/app/src/main/java/com/kouros/navigation/ui/search/SearchScreen.kt @@ -243,7 +243,7 @@ private fun SearchPlaces( latitude = place.lat.toDouble(), postalCode = place.address.postcode, city = place.address.city, - street = place.address.road + street = place.address.road, ) viewModel.saveRecent(context, pl) val toLocation = diff --git a/common/car/src/main/java/com/kouros/navigation/car/NavigationSession.kt b/common/car/src/main/java/com/kouros/navigation/car/NavigationSession.kt index bb06b1e..d118e81 100644 --- a/common/car/src/main/java/com/kouros/navigation/car/NavigationSession.kt +++ b/common/car/src/main/java/com/kouros/navigation/car/NavigationSession.kt @@ -479,7 +479,7 @@ class NavigationSession : CarSession(), NavigationListener, NavigationObserverCa checkArrival() } val end = System.currentTimeMillis() - Log.d(TAG, "UpdateLocation ${end-start} ms") + //Log.d(TAG, "UpdateLocation ${end-start} ms") } /** @@ -492,8 +492,7 @@ class NavigationSession : CarSession(), NavigationListener, NavigationObserverCa ): Boolean { val distance = location.distanceTo(snappedLocation) when { - distance > MAXIMAL_ROUTE_DEVIATION -> { - Log.d(TAG, "Recalculate $distance ") + distance > MAXIMAL_ROUTE_DEVIATION && distance < MAXIMAL_ROUTE_DEVIATION * 10-> { stopNavigation() navigationScreen.calculateNewRoute(routeModel.navState.destination) return false @@ -549,7 +548,6 @@ class NavigationSession : CarSession(), NavigationListener, NavigationObserverCa * Checks for arrival */ fun checkArrival() { - Log.d(TAG, "maneuverType ${routeModel.navState.maneuverType} Distance ${routeModel.routeCalculator.leftStepDistance()}") if (routeModel.isManeuverArrival() && routeModel.routeCalculator.leftStepDistance() < DESTINATION_ARRIVAL_DISTANCE ) { diff --git a/common/car/src/main/java/com/kouros/navigation/car/screen/NavigationScreen.kt b/common/car/src/main/java/com/kouros/navigation/car/screen/NavigationScreen.kt index 81ffb64..d297406 100644 --- a/common/car/src/main/java/com/kouros/navigation/car/screen/NavigationScreen.kt +++ b/common/car/src/main/java/com/kouros/navigation/car/screen/NavigationScreen.kt @@ -189,7 +189,7 @@ open class NavigationScreen( .setActionStrip(actionStripBuilder.build()) .setMapActionStrip(mapActionStrip) .setPanModeListener { isInPanMode: Boolean -> - Log.d(TAG, "PanMode $isInPanMode") + } .build() } diff --git a/common/car/src/main/java/com/kouros/navigation/car/screen/PlaceListScreen.kt b/common/car/src/main/java/com/kouros/navigation/car/screen/PlaceListScreen.kt index e4b6522..fa74676 100644 --- a/common/car/src/main/java/com/kouros/navigation/car/screen/PlaceListScreen.kt +++ b/common/car/src/main/java/com/kouros/navigation/car/screen/PlaceListScreen.kt @@ -126,21 +126,10 @@ class PlaceListScreen( * Creates an Action to navigate to a specific place. */ private fun clickOnPlace(itPlace: Place) { - place = Place( - 0, - itPlace.name, - itPlace.category, - itPlace.latitude, - itPlace.longitude, - itPlace.postalCode, - itPlace.city, - itPlace.street, - // avatar = null - ) if (surfaceRenderer.navigation) { - startStopOverScreen(place) + startStopOverScreen(itPlace) } else { - starPreviewScreen(place) + starPreviewScreen(itPlace) } } diff --git a/common/data/src/main/java/com/kouros/navigation/data/Data.kt b/common/data/src/main/java/com/kouros/navigation/data/Data.kt index 1200ae1..bd5ad7b 100644 --- a/common/data/src/main/java/com/kouros/navigation/data/Data.kt +++ b/common/data/src/main/java/com/kouros/navigation/data/Data.kt @@ -45,6 +45,7 @@ data class Place( var postalCode: String = "", var city: String = "", var street: String = "", + var navigations: Int = 0, @Transient var distance: Float = 0F, //var avatar: Uri? = null, @@ -139,9 +140,9 @@ object Constants { val isarring = location( 11.609696, 48.155116) const val NEXT_STEP_THRESHOLD = 500.0 - const val MAXIMAL_SNAP_CORRECTION = 50.0 + const val MAXIMAL_SNAP_CORRECTION = 40.0 - const val MAXIMAL_ROUTE_DEVIATION = 150.0 + const val MAXIMAL_ROUTE_DEVIATION = 100.0 const val DESTINATION_ARRIVAL_DISTANCE = 10.0 diff --git a/common/data/src/main/java/com/kouros/navigation/model/NavigationViewModel.kt b/common/data/src/main/java/com/kouros/navigation/model/NavigationViewModel.kt index d464056..e5d19ee 100644 --- a/common/data/src/main/java/com/kouros/navigation/model/NavigationViewModel.kt +++ b/common/data/src/main/java/com/kouros/navigation/model/NavigationViewModel.kt @@ -2,6 +2,7 @@ package com.kouros.navigation.model import android.content.Context import android.location.Location +import android.util.Log import androidx.compose.runtime.snapshots.SnapshotStateList import androidx.compose.runtime.toMutableStateList import androidx.lifecycle.MutableLiveData @@ -13,6 +14,7 @@ import com.kouros.navigation.data.Constants import com.kouros.navigation.data.Constants.FAVORITES import com.kouros.navigation.data.Constants.SPEED_BEARING_DEVIATION import com.kouros.navigation.data.Constants.SPEED_UPDATE_DISTANCE +import com.kouros.navigation.data.Constants.TAG import com.kouros.navigation.data.Constants.TANKER_KOENIG_DELAY import com.kouros.navigation.data.NavigationRepository import com.kouros.navigation.data.Place @@ -183,11 +185,15 @@ class NavigationViewModel(private val repository: NavigationRepository) : ViewMo place.id = id id += 1 } - pl.add(place) + if (place.distance == 0F || place.distance > 500F) { + pl.add(place) + } } } } - recentPlaces.postValue(pl.sortedBy { it.distance }) + val sortedList = pl.sortedWith(compareByDescending { it.navigations } + .thenByDescending { it.distance }) + recentPlaces.postValue(sortedList) } catch (e: Exception) { e.printStackTrace() } @@ -647,6 +653,7 @@ class NavigationViewModel(private val repository: NavigationRepository) : ViewMo val current = LocalDateTime.now(ZoneOffset.UTC) place.lastDate = current.atZone(ZoneOffset.UTC).toEpochSecond() place.route = "" + place.navigations += 1 places.add(place) recentPlaces.postValue(places) settingsRepository.setRecentPlaces(gson.toJson(Places(places)))