mapbox / mapbox/mapbox-navigation-android
[Android Auto] java.lang.IllegalStateException: To get FeedbackMetadataWrapper Telemetry must be enabled
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Kotlin
- Sterne
- 651
- Forks
- 321
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Mapbox allows to disable telemetry by using:
TelemetryUtils.setEventsCollectionState(false, null)
The auto library uses the telemetry service for sending feedback in different screens. Right now, there aren't checks to see if the telemetry has been disabled or not, which triggers an IllegalStateException when using code like this:
val feedbackMetadata = mapboxNavigation?.provideFeedbackMetadataWrapper()?.get()
Probably this could be avoided by the library when capturing the exception triggered here:
@ExperimentalPreviewMapboxNavigationAPI
fun provideFeedbackMetadataWrapper(): FeedbackMetadataWrapper =
runInTelemetryContext { telemetry ->
telemetry.provideFeedbackMetadataWrapper()
} ?: throw java.lang.IllegalStateException(
"To get FeedbackMetadataWrapper Telemetry must be enabled"
)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in libnavui-androidauto/src/main/java/com/mapbox/androidauto/feedback/core/CarFeedbackSender.kt und verfolge den Aufruf von provideFeedbackMetadataWrapper() in libnavigation-core/src/main/java/com/mapbox/navigation/core/MapboxNavigation.kt. Untersuche, wie der Zustand bei deaktivierter Telemetrie behandelt wird, und ermittle das erwartete Feedback-Verhalten ohne Telemetrie. Die Aufgabe ist abgeschlossen, wenn Android Auto-Feedback bei deaktivierter Telemetrie keine IllegalStateException mehr auslöst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- kotlin
- Bereich
- mobile
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100