IndexOutOfBoundsException in Class NachoTextView
huzaifaiftikhar opened this issue · 0 comments
huzaifaiftikhar commented
Summary:
App crashes when trying to paste over a chipified text. I am using ,
as the ChipTerminator.
Source code of the app.
Library version
1.1.1
Steps to reproduce:
- Type a text and create a chip.
- Type another text and create a second chip.
- Select the second chip and cut it.
- Select the first chip and select paste. (Trying to paste the second chip which was cut in the previous step)
- The app crashes on clicking paste.
When I tried reproducing it with the sample apk in this repository, the sample app didn't crash. However, it didn't paste anything either and erased the chip onto which I pasted.
System logs:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: openfoodfacts.github.scrachx.openfood, PID: 3887
java.lang.IndexOutOfBoundsException: getChars (0 ... 4) ends beyond length 0
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1315)
at android.text.SpannableStringBuilder.getChars(SpannableStringBuilder.java:1197)
at android.text.TextUtils.getChars(TextUtils.java:100)
at android.text.SpannableStringBuilder.<init>(SpannableStringBuilder.java:67)
at android.text.SpannableStringBuilder.subSequence(SpannableStringBuilder.java:1189)
at com.hootsuite.nachos.NachoTextView.handleTextChanged(NachoTextView.java:839)
at com.hootsuite.nachos.NachoTextView.afterTextChanged(NachoTextView.java:826)
at android.widget.TextView.sendAfterTextChanged(TextView.java:9424)
at android.widget.TextView$ChangeWatcher.afterTextChanged(TextView.java:11983)
at android.text.SpannableStringBuilder.sendAfterTextChanged(SpannableStringBuilder.java:1268)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:574)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:504)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:502)
at android.widget.TextView.paste(TextView.java:11237)
at android.widget.TextView.onTextContextMenuItem(TextView.java:10881)
at com.hootsuite.nachos.NachoTextView.onTextContextMenuItem(NachoTextView.java:619)
at android.widget.Editor$TextActionModeCallback.onActionItemClicked(Editor.java:3991)
at com.android.internal.policy.DecorView$ActionModeCallback2Wrapper.onActionItemClicked(DecorView.java:2581)
at com.android.internal.view.FloatingActionMode$3.onMenuItemSelected(FloatingActionMode.java:96)
at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:167)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:908)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:898)
at com.android.internal.view.FloatingActionMode.lambda$-com_android_internal_view_FloatingActionMode_4856(FloatingActionMode.java:121)
at com.android.internal.view.-$Lambda$IoKM3AcgDw3Ok5aFi0zlym2p3IA.$m$0(Unknown Source:4)
at com.android.internal.view.-$Lambda$IoKM3AcgDw3Ok5aFi0zlym2p3IA.onMenuItemClick(Unknown Source:0)
at com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$2.onClick(FloatingToolbar.java:425)
at android.view.View.performClick(View.java:6297)
at android.view.View$PerformClick.run(View.java:24797)
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:6626)
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:811)
Expected behavior:
The app shouldn't crash.
Device and Android version:
Motorola Moto G5s
Android 8.1.0