mapbox / mapbox/mapbox-maps-android
Crash when using custom httpservice client
Personne n'a encore pris cette issue.
- Langage dominant
- Kotlin
- Étoiles
- 578
- Forks
- 161
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Environment
- Android OS version: 33
- Devices affected: pixel 7
- Maps SDK Version: 10.12
Observed behavior and steps to reproduce
Using guide to create custom http service module with enableConfiguration from https://github.com/mapbox/mapbox-base-android/blob/master/MODULARIZATION.md#dependency-injection leads to app crashing at startup.
@MapboxModule(type = MapboxModuleType.CommonHttpClient, enableConfiguration = true)
class CacheableTileHttpService(private val tileProvidersRepository : TileProvidersRepository) : HttpServiceInterface {
...
}
class MainActivity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
Mapbox_HttpClientModuleConfiguration.moduleProvider =
object : Mapbox_HttpClientModuleConfiguration.ModuleProvider {
override fun createHttpClient(): HttpServiceInterface =
CacheableTileHttpService(viewModel.tileProvidersRepository)
}
super.onCreate(savedInstanceState)
...
}
this leads to crash MapboxInvalidModuleException(type=CommonHttpClient)
Seems PlatformHttpService.createPlatformHttpService is called before we get a chance to set moduleProvider, even setting moduleProvider from Application class will not get a chance to get called before PlatformHttpService.createPlatformHttpService
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le guide de modularisation et suivez PlatformHttpService.createPlatformHttpService ainsi que l'initialisation de Mapbox_HttpClientModuleConfiguration.moduleProvider. Reproduisez le plantage au démarrage à l'aide de l'exemple CacheableTileHttpService et vérifiez qu'un fournisseur CommonHttpClient configuré est disponible avant la création du service de plateforme, sans déclencher MapboxInvalidModuleException.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- android, kotlin
- Domaine
- mobile, networking
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100