Blueprint icon indicating copy to clipboard operation
Blueprint copied to clipboard

Very high crash rate on Samsung devices

Open thewaliii opened this issue 7 months ago • 2 comments

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

image

image

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
Fund with Polar

thewaliii avatar Jul 18 '24 14:07 thewaliii