mapbox / mapbox/mapbox-java

Directions API. Url provider

Abierto
#1,129 6 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Directions Feature
Lenguaje dominante
Java
Estrellas
438
Forks
117
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Description

In terms of Navigation for Android exists 2 types of Navigation(Router), it's Offline and Online. Both of them needs Route-URL provider.(Offline and Online are different modules , have own dependency graph and might be used independent).

Online Router's Route URL is provided by MapboxDirections that is a part of services-core library(under the hood is Retrofit(+OkHttp) library)

Problem

Offline Router cannot consume url from services-core because it brings "network" dependencies like Retrofit and OkHttp(they shouldn't be in Offline navigation).
Offline Router has own route-url provider RouteUrl
The main issue here: two classes where the same piece of logic exist.

Solution
  • keep service-core library interfaces as it is
  • create additional library (like router-url-provider) that depends on service-directions-model and (if java doesn't have clever approach for creating url) additional java library

How dependency tree looks now
Screen Shot 2020-03-12 at 16 38 40

Suggestion
Screen Shot 2020-03-12 at 16 47 59

Pros

router-url-provider might be used independently on service-core 👍

cc @mapbox/navigation-android @mapbox/maps-android @mapbox/navigation-api

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza comparando Router.kt, MapboxDirections.java y la implementación interna de RouteUrl.kt; después, inspecciona los grafos de dependencias de los módulos mostrados en el issue. Determina cómo se puede consumir de forma independiente el comportamiento compartido de las URL de rutas sin incorporar dependencias de red en Offline Router; se considera terminado cuando ambos tipos de router puedan usar el provider compartido mientras las interfaces de service-core permanezcan sin cambios.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
android, java
Área
api, build-system
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.