mapbox / mapbox/mapbox-maps-flutter

getStyleImage & hasStyleImage methods not responding

Aperta
#411 7 commenti 3 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Dart
Stelle
380
Fork
204
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Environment

Flutter version: 3.13.0
mapbox_maps_flutter version: 1.0.0-beta.3
Device: Samsung Galaxy A53
OS: Android 14

Steps to Reproduce

Call getStyleImage(imageId) or hasStyleImage(imageId) methods from StyleManager

Expected Behavior

These two methods should return either a Future<MbxImage?> or a Future<bool>

Actual Behavior

getStyleImage(imageId) actually throw the following exception:
E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): Failed to handle message E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): java.lang.IllegalStateException: Reply already submitted E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:435) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at io.flutter.plugin.common.BasicMessageChannel$IncomingMessageHandler$1.reply(BasicMessageChannel.java:224) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at com.mapbox.maps.pigeons.FLTMapInterfaces$StyleManager$33.success(FLTMapInterfaces.java:10964) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at com.mapbox.maps.pigeons.FLTMapInterfaces$StyleManager$33.success(FLTMapInterfaces.java:10961) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at com.mapbox.maps.mapbox_maps.StyleController.getStyleImage(StyleController.kt:487) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at com.mapbox.maps.pigeons.FLTMapInterfaces$StyleManager$-CC.lambda$setUp$42(FLTMapInterfaces.java:10973) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at com.mapbox.maps.pigeons.FLTMapInterfaces$StyleManager$$ExternalSyntheticLambda30.onMessage(Unknown Source:2) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at io.flutter.plugin.common.BasicMessageChannel$IncomingMessageHandler.onMessage(BasicMessageChannel.java:219) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at android.os.Handler.handleCallback(Handler.java:958) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at android.os.Handler.dispatchMessage(Handler.java:99) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at android.os.Looper.loopOnce(Looper.java:230) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at android.os.Looper.loop(Looper.java:319) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at android.app.ActivityThread.main(ActivityThread.java:8893) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at java.lang.reflect.Method.invoke(Native Method) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608) E/BasicMessageChannel#dev.flutter.pigeon.mapbox_maps_flutter.StyleManager.getStyleImage(13885): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103) E/DartMessenger(13885): Uncaught exception in binary message listener

hasStyleImage(imageId) returns nothing

Thanks.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dall’implementazione Android in StyleController.kt, intorno alla riga 487, e segui gli entry point getStyleImage e hasStyleImage di StyleManager attraverso FLTMapInterfaces.java. Riproduci le chiamate su Android e verifica come viene restituita ciascuna risposta asincrona. Il lavoro è completato quando getStyleImage restituisce un solo Future<MbxImage?> senza una risposta duplicata e hasStyleImage restituisce il Future previsto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, dart, flutter
Ambito
mobile
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.