Blueprint
Blueprint copied to clipboard
Very high crash rate on Samsung devices
Requirements
- [X] I have verified there are no duplicate active or recent bugs, questions, or requests
Blueprint Version
2.4.2
Android Version
14
Device Manufacturer
Samsung
Device Name
S23 Ultra
What happened?
Google sent me a warning of high crash rate. My app discovery might decrease because of it. Around 25% crash rate, on some devices. It looks like the crashes are caused by the license checker.
I value the anti-piracy check and want to keep it active, but Google doesn't tolerate crashes. Is there a way to implement a silent exit instead of a hard crash?
PS. Most of my users have the 23/24 Ultra, and many others use Samsung phones.
Reproduction Steps
Android vitals
Expected behavior
No response
Screenshots or videos
Code and/or Logs
java.lang.IllegalStateException
Exception java.lang.IllegalStateException: Method addObserver must be called on the main thread
at androidx.lifecycle.LifecycleRegistry.enforceMainThreadIfNeeded (LifecycleRegistry.kt:43)
at androidx.lifecycle.LifecycleRegistry.a (LifecycleRegistry.kt:8)
at androidx.savedstate.SavedStateRegistryController.performAttach (SavedStateRegistryController.kt:20)
at androidx.savedstate.SavedStateRegistryController.performRestore (SavedStateRegistryController.kt:5)
at androidx.activity.ComponentDialog.onCreate (ComponentDialog.kt:33)
at androidx.appcompat.app.AppCompatDialog.onCreate (AppCompatDialog.java:8)
at androidx.appcompat.app.AlertDialog.onCreate (AlertDialog.java:1)
at android.app.Dialog.dispatchOnCreate (Dialog.java:833)
at android.app.Dialog.show (Dialog.java:453)
at dev.jahir.frames.ui.activities.base.BaseLicenseCheckerActivity.showNotLicensedDialog (BaseLicenseCheckerActivity.java:95)
at dev.jahir.frames.ui.activities.base.BaseLicenseCheckerActivity.access$showNotLicensedDialog (BaseLicenseCheckerActivity.java:95)
at dev.jahir.frames.ui.activities.base.BaseLicenseCheckerActivity$startLicenseCheck$1$1$1$invoke$$inlined$doNotAllow$1.doNotAllow (Extensions.kt:95)
at com.github.javiersantos.piracychecker.PiracyChecker.doExtraVerification (PiracyChecker.kt:65)
at com.github.javiersantos.piracychecker.PiracyChecker.access$doExtraVerification (PiracyChecker.kt:6)
at com.github.javiersantos.piracychecker.PiracyChecker$verify$1.allow (PiracyChecker.kt:6)
at com.github.javiersantos.licensing.LibraryValidator.handleResponse (LibraryValidator.java:1)
at com.github.javiersantos.licensing.LibraryValidator.check (LibraryValidator.java:243)
at com.github.javiersantos.licensing.LibraryChecker$ResultListener$2.run (LibraryChecker.java:243)
at android.os.Handler.handleCallback (Handler.java:958)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loopOnce (Looper.java:230)
at android.os.Looper.loop (Looper.java:319)
at android.os.HandlerThread.run (HandlerThread.java:67)
Additional context or info
No response
Funding
- You can sponsor this specific effort via a Polar.sh pledge below
- We receive the pledge once the issue is completed & verified