mapbox / mapbox/mapbox-plugins-android
IndexOutOfBoundsException crash in updateSearchHistoryView
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Java
- Estrellas
- 242
- Forks
- 116
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
The following code throws an exception:
PlaceAutocompleteFragment.java:218
for (int x = 0; x < historyCount; x++) {
searchHistoryView.getResultsList().add(searchHistoryEntities.get(x).getCarmenFeature());
}
Looks like historyCount = 3, but searchHistoryEntites.size() == 0
Not exactly sure why it got into this state internally, but it's causing the app to crash.
Stack trace:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at com.mapbox.mapboxsdk.plugins.places.autocomplete.ui.PlaceAutocompleteFragment.updateSearchHistoryView(PlaceAutocompleteFragment.java:218)
at com.mapbox.mapboxsdk.plugins.places.autocomplete.ui.PlaceAutocompleteFragment$2.onChanged(PlaceAutocompleteFragment.java:279)
at com.mapbox.mapboxsdk.plugins.places.autocomplete.ui.PlaceAutocompleteFragment$2.onChanged(PlaceAutocompleteFragment.java:276)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:113)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:131)
at androidx.lifecycle.LiveData.setValue(LiveData.java:289)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:33)
at androidx.lifecycle.LiveData$1.run(LiveData.java:91)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7319)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en PlaceAutocompleteFragment.java, en updateSearchHistoryView, especialmente en la línea 218, y sigue los valores de historyCount y searchHistoryEntities indicados en el issue. Reproduce o prueba el estado en el que historyCount es 3 mientras la lista de entidades está vacía y, después, verifica que la actualización ya no lance IndexOutOfBoundsException.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- android, java
- Área
- mobile
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100