@@ -13,6 +13,8 @@ import com.sygic.travel.sdk.places.model.Place
1313import com.sygic.travel.sdk.places.model.geo.LatLng
1414import com.sygic.travel.sdk.places.model.geo.LatLngBounds
1515import com.sygic.travel.sdk.places.model.media.Medium
16+ import okio.Okio
17+ import java.io.InputStream
1618
1719internal class PlacesService constructor(
1820 private val sygicTravelApiClient : SygicTravelApiClient ,
@@ -70,13 +72,15 @@ internal class PlacesService constructor(
7072 return request.checkedExecute().body()!! .data!! .fromApi()
7173 }
7274
73- fun parsePlacesList (json : String ): List <Place > {
75+ fun parsePlacesList (json : InputStream ): List <Place > {
76+ val input = Okio .buffer(Okio .source(json))
7477 val apiPlaceType = Types .newParameterizedType(List ::class .java, ApiPlaceListItemResponse ::class .java)
75- return moshi.adapter<List <ApiPlaceListItemResponse >>(apiPlaceType).fromJson(json )!! .map { it.fromApi() }
78+ return moshi.adapter<List <ApiPlaceListItemResponse >>(apiPlaceType).fromJson(input )!! .map { it.fromApi() }
7679 }
7780
78- fun parseDetailedPlacesList (json : String ): List <DetailedPlace > {
81+ fun parseDetailedPlacesList (json : InputStream ): List <DetailedPlace > {
82+ val input = Okio .buffer(Okio .source(json))
7983 val apiDetailedPlaceType = Types .newParameterizedType(List ::class .java, ApiPlaceItemResponse ::class .java)
80- return moshi.adapter<List <ApiPlaceItemResponse >>(apiDetailedPlaceType).fromJson(json )!! .map { it.fromApi() }
84+ return moshi.adapter<List <ApiPlaceItemResponse >>(apiDetailedPlaceType).fromJson(input )!! .map { it.fromApi() }
8185 }
8286}
0 commit comments