Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb499a71 authored by mitulsheth's avatar mitulsheth
Browse files

fix(favorites): removing places from the favorites

- Using gId for online place search and using foll back option for offline
parent 88ddd281
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ package earth.maps.cardinal.data
import kotlin.math.abs

data class GeocodeResult(
    val gId: String,
    val latitude: Double,
    val longitude: Double,
    val displayName: String,
+1 −14
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ import kotlinx.coroutines.launch
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import kotlinx.coroutines.withContext
import java.security.MessageDigest
import javax.inject.Inject
import javax.inject.Singleton

@@ -466,14 +465,8 @@ class LocationRepository @Inject constructor(
    fun createSearchResultPlace(result: GeocodeResult): Place {
        val openingHours = result.properties["opening_hours"]

        val deterministicId = PlaceIdGenerator.generateId(
            latitude = result.latitude,
            longitude = result.longitude,
            name = result.displayName
        )

        return Place(
            id = deterministicId,
            id = result.gId,
            name = result.displayName,
            description = mapOsmTagsToDescription(result.properties),
            icon = "search",
@@ -486,12 +479,6 @@ class LocationRepository @Inject constructor(
        )
    }

    private fun generateStableIdFromBytes(bytes: ByteArray): String {
        return MessageDigest.getInstance("SHA-256")
            .digest(bytes)
            .joinToString("") { "%02x".format(it) }
    }

    fun mapOsmTagsToDescription(properties: Map<String, String>): String {
        Log.d("LocationRepository", "$properties")
        // Check for common amenity tags first
+7 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import earth.maps.cardinal.data.Address
import earth.maps.cardinal.data.GeocodeResult
import earth.maps.cardinal.data.LatLng
import earth.maps.cardinal.data.LocationRepository
import earth.maps.cardinal.data.PlaceIdGenerator
import uniffi.cardinal_geocoder.newAirmailIndex
import java.io.File

@@ -98,8 +99,13 @@ class OfflineGeocodingService(

        // Populate address from available tags
        val address = buildAddress(tags)

        val id = PlaceIdGenerator.generateId(
            latitude = latitude,
            longitude = longitude,
            name = displayName,
        )
        return GeocodeResult(
            gId = id,
            displayName = displayName,
            latitude = latitude,
            longitude = longitude,
+1 −0
Original line number Diff line number Diff line
@@ -192,6 +192,7 @@ class PeliasGeocodingService(
                }

                GeocodeResult(
                    gId = properties?.get("gid")?.jsonPrimitive?.content ?: "",
                    latitude = lat,
                    longitude = lon,
                    displayName = displayName,
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ hiltNavigationCompose = "1.3.0"
cargo-ndk = "0.3.4"
valhallaMobile = "0.3.0"
valhallaMobileConfig = "0.0.9"
ferrostar = "0.48.1"
ferrostar = "0.45.0"
okhttp3 = "5.3.2"
material3 = "1.5.0-alpha10"
detekt = "2.0.0-alpha.1"