Repository: PaulWoitaschek/Voice

Issue #995: IllegalStateException: Slider value must be greater or equal to valueFrom, and lower or equal to valueTo
Created: 2020-05-29T13:17:28Z
Not sure whether this report will be of any use, but here it goes.
I don't have the problem anymore, so the issue may be closed if it's not something meant to be fixed.
At some point when going to a next "chapter" the app crashed (I don't remember whether I was using fast-forward/rewind at that moment). After that the app crashed every time I tried to open that particular book (the book is plain mp3s in a folder, if that matters). Crash stacktrace follows.
Pressing the "play" button on the main screen seems to have changed reading position, so the app is no longer crashing.
Here's the crash stacktrace:
2020-05-29 01:16:42.814 5946-5946/de.ph1b.audiobook E/AndroidRuntime: FATAL EXCEPTION: main
    Process: de.ph1b.audiobook, PID: 5946
    java.lang.IllegalStateException: Slider value must be greater or equal to valueFrom, and lower or equal to valueTo
        at com.google.android.material.slider.Slider.validateValues(Slider.java:517)
        at com.google.android.material.slider.Slider.validateConfigurationIfDirty(Slider.java:530)
        at com.google.android.material.slider.Slider.onDraw(Slider.java:1366)
        at android.view.View.draw(View.java:20207)
        at android.view.View.updateDisplayListIfDirty(View.java:19082)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:2023)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.updateDisplayListIfDirty(View.java:19073)
        at android.view.View.draw(View.java:19935)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
        at android.view.View.draw(View.java:20210)
        at com.android.internal.policy.DecorView.draw(DecorView.java:780)
        at android.view.View.updateDisplayListIfDirty(View.java:19082)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:801)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:3318)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3122)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2481)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1463)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7190)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:696)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

I'm using version 5.0.2 from F-Droid.
Thanks for developing the app!

Duplicate issue #1013: Issue: Voice keeps crashing after audiobook finishes
Created: 2020-08-09T10:38:07Z
Describe the bug
After finishing Audiobook, Voice crashes on trying to open it.
To Reproduce
Steps to reproduce the behavior:

Finish any audiobook with Voice in the background (single file book or folder).
After finish, try to open Voice.
Crash continuously

Expected behavior
Voice should open into the menu, enabling you to select a new audiobook.
Screenshots
n/a
Smartphone

Device: OneNote 6
Android Version: Android 10
Voice Version 5.0.2 (F-Droid)

Additional context

It seems not to be connected to any specific audiobook, have retried with multiple books afterwards.
The only fix at the moment seems to be to clear all storage, basically resetting the app. Clearing cache does not suffice.

PS: The issue template is not selectable in GitHub Issues.

Closing comment (2020-08-12T14:32:58Z): Most likely a duplicate of #995, or at least related.
Well, as for a temporary workaround, you might try moving the mp3 file of the currently playing audiobook - that should trigger a re-loading of the file and reset play state.