Skip to content

Fast clearing Multiple EditText Elements crashes #8

@patrickfav

Description

@patrickfav

Having 4 AnimatedEditText elements each containing 1 element/char of a PIN entry. If I remove one, then the next, when the 1st animation is still is in progress, the app crashes. Are these dependent on each other?

device-2017-12-16-153246

12-16 15:29:57.217 17646-17646/*****.debug E/AndroidRuntime: FATAL EXCEPTION: main
                                                                            Process: *****, PID: 17646
                                                                            java.lang.StringIndexOutOfBoundsException: String index out of range: -1
                                                                                at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:954)
                                                                                at java.lang.StringBuilder.substring(Unknown Source:0)
                                                                                at android.text.TextUtils.substring(TextUtils.java:286)
                                                                                at com.alimuzaffar.lib.widgets.AnimatedEditText.getFixedText(AnimatedEditText.java:336)
                                                                                at com.alimuzaffar.lib.widgets.AnimatedEditText.drawGravityCenterHorizontal(AnimatedEditText.java:270)
                                                                                at com.alimuzaffar.lib.widgets.AnimatedEditText.onDraw(AnimatedEditText.java:237)
                                                                                at android.view.View.draw(View.java:19192)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18142)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4220)
                                                                                at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4200)
                                                                                at android.view.View.updateDisplayListIfDirty(View.java:18101)
                                                                                at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:669)
                                                                                at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:675)
                                                                                at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:783)
                                                                                at android.view.ViewRootImpl.draw(ViewRootImpl.java:2992)
                                                                                at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2806)
                                                                                at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2359)
                                                                                at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392)
                                                                                at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)
12-16 15:29:57.217 17646-17646/at.psa.app.volksbank.debug E/AndroidRuntime:     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
                                                                                at android.view.Choreographer.doCallbacks(Choreographer.java:723)
                                                                                at android.view.Choreographer.doFrame(Choreographer.java:658)
                                                                                at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
                                                                                at android.os.Handler.handleCallback(Handler.java:790)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                at android.os.Looper.loop(Looper.java:164)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:6494)
                                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                                at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions