You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When changing styles quickly, my Android app crashes with this error:
Fatal Exception: java.lang.IllegalStateException: Calling getSources when a newer style is loading/has loaded.
at org.maplibre.android.maps.Style.validateState(Style.java:776)
at org.maplibre.android.maps.Style.getSources(Style.java:107)
at dev.sargunv.maplibrecompose.core.AndroidStyle.getSources(AndroidStyle.kt:27)
at dev.sargunv.maplibrecompose.compose.engine.SourceManager.<init>(SourceManager.kt:7)
at dev.sargunv.maplibrecompose.compose.engine.StyleNode.<init>(StyleNode.kt:8)
at dev.sargunv.maplibrecompose.compose.engine.RememberStyleCompositionKt$rememberStyleComposition$1$1.invokeSuspend(rememberStyleComposition.kt:28)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at androidx.compose.ui.platform.AndroidUiDispatcher.performTrampolineDispatch(AndroidUiDispatcher.android.kt:81)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performTrampolineDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.run(AndroidUiDispatcher.android.kt:57)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7590)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
I managed to reproduce it on Style Switcher Demo, by changing styles very quickly, and got a little different error:
java.lang.IllegalStateException: Calling getLayers when a newer style is loading/has loaded.
at org.maplibre.android.maps.Style.validateState(Style.java:776)
at org.maplibre.android.maps.Style.getLayers(Style.java:268)
at dev.sargunv.maplibrecompose.core.AndroidStyle.getLayers(AndroidStyle.kt:43)
at dev.sargunv.maplibrecompose.compose.MaplibreMapKt$MaplibreMap$callbacks$1$1.layerNodesInOrder(MaplibreMap.kt:139)
at dev.sargunv.maplibrecompose.compose.MaplibreMapKt$MaplibreMap$callbacks$1$1.onClick-GrvxvIE(MaplibreMap.kt:146)
at dev.sargunv.maplibrecompose.core.AndroidMap._init_$lambda$7(AndroidMap.kt:169)
at dev.sargunv.maplibrecompose.core.AndroidMap.$r8$lambda$3_KOftxaIQ7_JozXXAVYsr09nZY(Unknown Source:0)
at dev.sargunv.maplibrecompose.core.AndroidMap$$ExternalSyntheticLambda4.onMapClick(D8$$SyntheticClass:0)
at org.maplibre.android.maps.MapGestureDetector.notifyOnMapClickListeners(MapGestureDetector.java:1006)
at org.maplibre.android.maps.MapGestureDetector$StandardGestureListener.onSingleTapConfirmed(MapGestureDetector.java:362)
at org.maplibre.android.gestures.StandardGestureDetector$1.onSingleTapConfirmed(StandardGestureDetector.java:83)
at android.view.GestureDetector$GestureHandler.handleMessage(GestureDetector.java:323)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
I don't know if the crash also occurs on other platforms, but on Android it can be fixed simply by checking isFullyLoaded before every interaction with the style.
The text was updated successfully, but these errors were encountered:
sargunv
added
bug
Something isn't working
android
Affects Android in particular, or relates to Android specific code
labels
Jan 16, 2025
When changing styles quickly, my Android app crashes with this error:
I managed to reproduce it on Style Switcher Demo, by changing styles very quickly, and got a little different error:
I don't know if the crash also occurs on other platforms, but on Android it can be fixed simply by checking isFullyLoaded before every interaction with the style.
The text was updated successfully, but these errors were encountered: