From 9bf7a90302ada857d006a2a695bf24dd92da27d5 Mon Sep 17 00:00:00 2001 From: johan12345 Date: Mon, 1 May 2023 17:05:29 +0200 Subject: [PATCH] fix broken NewMotion availability API - domain changed to ui-map.shellrecharge.com - zoom parameter is now required fixes #278 --- .../java/net/vonforst/evmap/api/RateLimitInterceptor.kt | 2 +- .../api/availability/NewMotionAvailabilityDetector.kt | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/net/vonforst/evmap/api/RateLimitInterceptor.kt b/app/src/main/java/net/vonforst/evmap/api/RateLimitInterceptor.kt index 9f593a98..d3b70f08 100644 --- a/app/src/main/java/net/vonforst/evmap/api/RateLimitInterceptor.kt +++ b/app/src/main/java/net/vonforst/evmap/api/RateLimitInterceptor.kt @@ -10,7 +10,7 @@ class RateLimitInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val request = chain.request() - if (request.url.host == "my.newmotion.com") { + if (request.url.host == "ui-map.shellrecharge.com") { // limit requests sent to NewMotion to 3 per second rateLimiter.acquire(1) diff --git a/app/src/main/java/net/vonforst/evmap/api/availability/NewMotionAvailabilityDetector.kt b/app/src/main/java/net/vonforst/evmap/api/availability/NewMotionAvailabilityDetector.kt index 95a3c322..d68cccdc 100644 --- a/app/src/main/java/net/vonforst/evmap/api/availability/NewMotionAvailabilityDetector.kt +++ b/app/src/main/java/net/vonforst/evmap/api/availability/NewMotionAvailabilityDetector.kt @@ -15,12 +15,13 @@ private const val coordRange = 0.005 // range of latitude and longitude for loa private const val maxDistance = 40 // max distance between reported positions in meters interface NewMotionApi { - @GET("markers/{lngMin}/{lngMax}/{latMin}/{latMax}") + @GET("markers/{lngMin}/{lngMax}/{latMin}/{latMax}/{zoom}") suspend fun getMarkers( @Path("lngMin") lngMin: Double, @Path("lngMax") lngMax: Double, @Path("latMin") latMin: Double, - @Path("latMax") latMax: Double + @Path("latMax") latMax: Double, + @Path("zoom") zoom: Int = 22 ): List @GET("locations/{id}") @@ -76,7 +77,7 @@ interface NewMotionApi { companion object { fun create(client: OkHttpClient, baseUrl: String? = null): NewMotionApi { val retrofit = Retrofit.Builder() - .baseUrl(baseUrl ?: "https://my.newmotion.com/api/map/v2/") + .baseUrl(baseUrl ?: "https://ui-map.shellrecharge.com/api/map/v2/") .addConverterFactory(MoshiConverterFactory.create()) .client(client) .build()