diff --git a/cardinal-android/app/src/main/java/earth/maps/cardinal/MainActivity.kt b/cardinal-android/app/src/main/java/earth/maps/cardinal/MainActivity.kt index f022292a7a61d595a7501bba96a55a5e38484412..ed0054790a0303a17ce16d0808d8e393d37188d6 100644 --- a/cardinal-android/app/src/main/java/earth/maps/cardinal/MainActivity.kt +++ b/cardinal-android/app/src/main/java/earth/maps/cardinal/MainActivity.kt @@ -157,6 +157,7 @@ class MainActivity : ComponentActivity() { ) { isGranted -> hasLocationPermission = isGranted if (isGranted) { + locationRepository.startContinuousLocationUpdates(this@MainActivity) Log.d(TAG, "Location permission granted") // Request fresh location and animate camera to user's location lifecycleScope.launch { @@ -201,6 +202,9 @@ class MainActivity : ComponentActivity() { hasNotificationPermission = checkNotificationPermission() hasLocationPermission = checkLocationPermission() + if (hasLocationPermission) { + locationRepository.startContinuousLocationUpdates(this@MainActivity) + } // Check if we should show the location permission dialog on first startup if (!appPreferenceRepository.hasPromptedLocation.value && !hasLocationPermission) { diff --git a/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/core/MapViewModel.kt b/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/core/MapViewModel.kt index e21cd05093585d1bc5ad477b19270d890a9900ce..551f30c0795b77ec3b851e88cd333966a26d8925 100644 --- a/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/core/MapViewModel.kt +++ b/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/core/MapViewModel.kt @@ -94,10 +94,6 @@ class MapViewModel @Inject constructor( FeatureCollection(placeList.map { createFeatureFromSavedPlace(it) }) } - init { - locationRepository.startContinuousLocationUpdates(context) - } - /** * Creates a Feature from a Place with proper JSON escaping. */ diff --git a/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/home/NearbyViewModel.kt b/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/home/NearbyViewModel.kt index 9d7d5ba89eb5ad24eadcd0b75a7196c579968c9e..9dd7791369379d6c4bd5f266ad86bff43770b07a 100644 --- a/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/home/NearbyViewModel.kt +++ b/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/home/NearbyViewModel.kt @@ -61,7 +61,6 @@ class NearbyViewModel @Inject constructor( init { // Start observing location updates - locationRepository.startContinuousLocationUpdates(context) observeLocationUpdates() } diff --git a/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/home/TransitScreenViewModel.kt b/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/home/TransitScreenViewModel.kt index a876cd2ac3a5e409ebb59b9602acf6bc757c85ea..66d697becdbcec316b2005afbb70bfb8abe16a79 100644 --- a/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/home/TransitScreenViewModel.kt +++ b/cardinal-android/app/src/main/java/earth/maps/cardinal/ui/home/TransitScreenViewModel.kt @@ -88,7 +88,6 @@ class TransitScreenViewModel @Inject constructor( init { // Start observing location updates - locationRepository.startContinuousLocationUpdates(context) observeLocationUpdates() }