androidbroadcast / ViewBindingPropertyDelegate

Make work with Android View Binding simpler
https://proandroiddev.com/make-android-view-binding-great-with-kotlin-b71dd9c87719
Apache License 2.0
1.42k stars 102 forks source link

Fatal Exception: java.lang.IllegalStateException #88

Closed gazanfarov closed 2 years ago

gazanfarov commented 2 years ago

Hello! I get lots of crashes in firebase after migrating from com.kirich1409.viewbindingpropertydelegate:vbpd-noreflection:1.3.1 to com.github.kirich1409:viewbindingpropertydelegate-noreflection:1.5.2

I'm currently not able to reproduce it.

Fatal Exception: java.lang.IllegalStateException Method addObserver must be called on the main thread androidx.lifecycle.LifecycleRegistry.enforceMainThreadIfNeeded (LifecycleRegistry.java:25) androidx.lifecycle.LifecycleRegistry.addObserver (LifecycleRegistry.java:2) by.kirich1409.viewbindingdelegate.LifecycleViewBindingProperty.getValue (LifecycleViewBindingProperty.java:84) by.kirich1409.viewbindingdelegate.FragmentViewBindingProperty.getValue (FragmentViewBindingProperty.java:10) by.kirich1409.viewbindingdelegate.FragmentViewBindingProperty.getValue (FragmentViewBindingProperty.java:2) ua.yakaboo.mobile.reader.ui.reader.ReaderFragment.getBinding (ReaderFragment.java:7) ua.yakaboo.mobile.reader.ui.reader.ReaderFragment.saveBookProgressAnalytics (ReaderFragment.java:4) ua.yakaboo.mobile.reader.ui.reader.ReaderView$$State.saveBookProgressAnalytics (ReaderView.java:39) ua.yakaboo.mobile.reader.ui.reader.ReaderPresenter.storeBookPosition (ReaderPresenter.java:17) ua.yakaboo.mobile.reader.util.YakabooBookController.storePosition (YakabooBookController.java:15) org.fbreader.text.widget.TextWidget.onScrollingFinished (TextWidget.java:18) org.fbreader.text.widget.TextWidget.lambda$onAnimationEnd$1 (TextWidget.java) org.fbreader.text.widget.TextWidget.$r8$lambda$N5TiimHpjA39pUib6U4WbfPPB7g (TextWidget.java) androidx.constraintlayout.motion.widget.ViewTransition$$InternalSyntheticLambda$0$c6479121047b1f8bc12f1f2e0ede63895f3663eff4e9e9fcac2cd5b22c16fea3$0.run$bridge (ViewTransition.java:14) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167) java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641) java.lang.Thread.run (Thread.java:923)

kirich1409 commented 2 years ago

It seems you try to get instance of ViewBinding in non the Main/UI thread& Please check that

gazanfarov commented 2 years ago

I did try every way possible to replicate this issue and I still can't but I do think it shouldn't crash inside the library anyway.

dakatso commented 2 years ago

I have same trouble, there wasn't this bug in 1.4.7

kirich1409 commented 2 years ago

I fixed bug with cleaning reference to ViewBinding in Fragment and APIs inside it require work on the Main thread. You need to check your code first