Amenities

This commit is contained in:
Dimitris
2025-12-17 09:31:12 +01:00
parent d546ede0e5
commit ed24e71473
21 changed files with 284 additions and 246 deletions

View File

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

View File

@@ -72,23 +72,17 @@ import kotlin.time.Duration.Companion.seconds
class MainActivity : ComponentActivity() {
val routeData = MutableLiveData("")
val viewModel = ViewModel(NavigationRepository())
val routeModel = RouteModel()
var tilt = 50.0
val useMock = true
val stepData: MutableLiveData<StepData> by lazy {
MutableLiveData<StepData>()
}
val nextStepData: MutableLiveData<StepData> by lazy {
MutableLiveData<StepData>()
}
var lastLocation = location(0.0, 0.0)
val observer = Observer<String> { newRoute ->
if (newRoute.isNotEmpty()) {
routeModel.startNavigation(newRoute)
@@ -188,7 +182,7 @@ class MainActivity : ComponentActivity() {
sheetPeekHeightState.value = 128.dp
}
}
NavigationTheme() {
NavigationTheme {
BottomSheetScaffold(
snackbarHost = {
SnackbarHost(hostState = snackbarHostState)

View File

@@ -14,6 +14,7 @@ import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
@@ -28,16 +29,34 @@ import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import androidx.lifecycle.MutableLiveData
import androidx.window.layout.WindowMetricsCalculator
import com.kouros.navigation.car.ViewStyle
import com.kouros.navigation.car.map.BuildingLayer
import com.kouros.navigation.car.map.DarkMode
import com.kouros.navigation.car.map.MapLibre
import com.kouros.navigation.car.map.NavigationImage
import com.kouros.navigation.data.Constants
import com.kouros.navigation.data.Constants.SHOW_THREED_BUILDING
import com.kouros.navigation.data.RouteColor
import com.kouros.navigation.data.StepData
import com.kouros.navigation.utils.NavigationUtils.getBooleanKeyValue
import org.maplibre.compose.camera.CameraPosition
import org.maplibre.compose.camera.CameraState
import org.maplibre.compose.camera.rememberCameraState
import org.maplibre.compose.expressions.dsl.const
import org.maplibre.compose.expressions.dsl.exponential
import org.maplibre.compose.expressions.dsl.interpolate
import org.maplibre.compose.expressions.dsl.zoom
import org.maplibre.compose.layers.CircleLayer
import org.maplibre.compose.layers.LineLayer
import org.maplibre.compose.location.LocationTrackingEffect
import org.maplibre.compose.location.UserLocationState
import org.maplibre.compose.map.MapOptions
import org.maplibre.compose.map.MaplibreMap
import org.maplibre.compose.map.OrnamentOptions
import org.maplibre.compose.sources.GeoJsonData
import org.maplibre.compose.sources.GeoJsonSource
import org.maplibre.compose.sources.getBaseSource
import org.maplibre.compose.sources.rememberGeoJsonSource
import org.maplibre.compose.style.BaseStyle
import org.maplibre.spatialk.geojson.Position
import kotlin.time.Duration.Companion.seconds
@@ -77,8 +96,8 @@ fun MapView(
Column {
NavigationInfo(step)
Box(contentAlignment = Alignment.Center) {
MapLibre(applicationContext, cameraState, baseStyle, route, "", position)
LocationTrackingEffect(
MapLibre(applicationContext, cameraState, baseStyle, route, ViewStyle.VIEW)
LocationTrackingEffect(
locationState = userLocationState,
) {
cameraState.animateTo(
@@ -97,3 +116,5 @@ fun MapView(
}
}

View File

@@ -75,7 +75,6 @@ fun SearchSheet(
}
}
if (recentPlaces.value != null) {
println("Recent Places ${recentPlaces.value}")
val textFieldState = rememberTextFieldState()
val items = listOf(recentPlaces)
if (items.isNotEmpty()) {
@@ -108,7 +107,7 @@ fun Home(
closeSheet()
}) {
Icon(
painter = painterResource(id = com.google.android.gms.base.R.drawable.common_full_open_on_phone),
painter = painterResource(id = R.drawable.ic_place_white_24dp),
"Home",
modifier = Modifier.size(24.dp, 24.dp),
)
@@ -222,7 +221,6 @@ private fun SearchPlaces(
street = place.address.road
)
viewModel.saveRecent(pl)
println("Save $pl")
val toLocation =
location(place.lon.toDouble(), place.lat.toDouble())
viewModel.loadRoute(context, location, toLocation)