Directions API. Url provider
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 438
- Fork
- 117
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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-corelibrary interfaces as it is - create additional library (like
router-url-provider) that depends onservice-directions-modeland (if java doesn't have clever approach for creating url) additional java library
How dependency tree looks now

Suggestion

Pros
router-url-provider might be used independently on service-core 👍
cc @mapbox/navigation-android @mapbox/maps-android @mapbox/navigation-api
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia confrontando Router.kt, MapboxDirections.java e l’implementazione interna di RouteUrl.kt, quindi esamina i grafi delle dipendenze dei moduli mostrati nell’issue. Determina come il comportamento condiviso degli URL delle route possa essere utilizzato in modo indipendente senza introdurre dipendenze di rete in Offline Router; il lavoro è completato quando entrambi i tipi di router possono utilizzare il provider condiviso, mentre le interfacce di service-core rimangono invariate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, java
- Ambito
- api, build-system
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100