crash if click twice in the text

in #utopian-io8 years ago (edited)

PROJECT INFO

REPOSITORIES: ;https://github.com/Wilm0r/giggity
app name : gigity

EXPECTED BEHAVIOR

when the user presses twice on the explanation part of a schedule the user should be able to copy those words

ACTUAL BEHAVIOR

when the user presses twice on that part of the sentence then the cursor position in change this app will crash and not work properly

HOW TO REPRODUCE

  • download gigity app from playstore or from fdroid
  • launch the app
  • chose any event
  • and then click on any schedule option
  • double click on the explanation part of the schedule and change the cursor position and see if this application will crash
    browser : giigity v 1.3.2
    device : android 5.1 idos
bug recording

logcat file

Process: net.gaast.giggity, PID: 3012
java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0
    at android.text.SpannableStringInternal.checkRange(SpannableStringInternal.java:357)
    at android.text.SpannableStringInternal.setSpan(SpannableStringInternal.java:79)
    at android.text.SpannableString.setSpan(SpannableString.java:46)
    at android.text.Selection.setSelection(Selection.java:76)
    at android.widget.Editor$SelectionEndHandleView.updateSelection(Editor.java:3749)
    at android.widget.Editor$HandleView.positionAtCursorOffset(Editor.java:3384)
    at android.widget.Editor$SelectionEndHandleView.updatePosition(Editor.java:3764)
    at android.widget.Editor$HandleView.onTouchEvent(Editor.java:3504)
    at android.view.View.dispatchTouchEvent(View.java:8484)
    at android.view.View.dispatchPointerEvent(View.java:8684)
    at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4123)
    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3989)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3597)
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3563)
    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3680)
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3571)
    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3737)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3597)
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3563)
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3571)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544)
    at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5817)
    at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5```

proof of work done 
gihtub.com/muhammadarif1
Sort:  

Your contribution has been evaluated according to Utopian rules and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post,Click here


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Hey @muhammadarif
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Contributing on Utopian
Learn how to contribute on our website or by watching this tutorial on Youtube.

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!