Open ayqooi opened 5 years ago
experimenting the same.
Error when touch the thumb and drag left or right. (Android Q beta 2) java.lang.IllegalArgumentException: path must be convex at android.graphics.Outline.setConvexPath(Outline.java:286) at org.adw.library.widgets.discreteseekbar.internal.compat.SeekBarCompatDontCrash$1.getOutline(SeekBarCompatDontCrash.java:44) at android.view.View.rebuildOutline(View.java:17298) at android.view.View.invalidateDrawable(View.java:22503) at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:456) at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable.updateAnimation(MarkerDrawable.java:148) at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable.access$400(MarkerDrawable.java:46) at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable$1.run(MarkerDrawable.java:191) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966) at android.view.Choreographer.doCallbacks(Choreographer.java:790) at android.view.Choreographer.doFrame(Choreographer.java:721) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:951) at android.os.Handler.handleCallback(Handler.java:878) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:209) at android.app.ActivityThread.main(ActivityThread.java:7046) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:486) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
same crash, pls fix
The fix appears to be just to comment out the line:
outline.setConvexPath(markerDrawable.getPath());
inside SeekBarCompatDontCrash
I've tested this on 3 different versions of Android (M, P, and Q). And everything seems to work as normal. The "bubble" still renders correctly and most importantly of all there is NO crash on Android Q.
The same crash on Android Q (QPP3.190404.015)
Fatal Exception: java.lang.IllegalArgumentException: path must be convex
at android.graphics.Outline.setConvexPath(Outline.java:286)
at org.adw.library.widgets.discreteseekbar.internal.compat.SeekBarCompatDontCrash$1.getOutline(SeekBarCompatDontCrash.java:44)
at android.view.View.rebuildOutline(View.java:17481)
at android.view.View.invalidateDrawable(View.java:22671)
at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:477)
at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable.updateAnimation(MarkerDrawable.java:148)
at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable.access$400(MarkerDrawable.java:46)
at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable$1.run(MarkerDrawable.java:191)
@drakeet I already posted a comment that says you can fix it yourself and the fix is easy ... as it looks like the developer of this repo doesn't maintain it anymore
Crashes the moment you attempt to scroll when using on Android Q (Preview)... This works perfectly on all recent Android versions prior to Q.
Stacktrace attached:
java.lang.IllegalArgumentException: path must be convex at android.graphics.Outline.setConvexPath(Outline.java:286) at org.adw.library.widgets.discreteseekbar.internal.compat.SeekBarCompatDontCrash$1.getOutline(SeekBarCompatDontCrash.java:44) at android.view.View.rebuildOutline(View.java:16874) at android.view.View.invalidateDrawable(View.java:22071) at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:456) at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable.updateAnimation(MarkerDrawable.java:148) at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable.access$400(MarkerDrawable.java:46) at org.adw.library.widgets.discreteseekbar.internal.drawable.MarkerDrawable$1.run(MarkerDrawable.java:191) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:981) at android.view.Choreographer.doCallbacks(Choreographer.java:791) at android.view.Choreographer.doFrame(Choreographer.java:722) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:966) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:209) at android.app.ActivityThread.main(ActivityThread.java:7021) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:486) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:872)