Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IndexOutOfBoundsException - setSpan starts before 0 #1850

Closed
markushub opened this issue Jul 22, 2023 · 1 comment · Fixed by #1856
Closed

IndexOutOfBoundsException - setSpan starts before 0 #1850

markushub opened this issue Jul 22, 2023 · 1 comment · Fixed by #1856
Labels

Comments

@markushub
Copy link

markushub commented Jul 22, 2023

  • Bug reports which do not fill the complete issue template will be closed.
  • Please have a look at our FAQ
  • Please search the existing issues first, it's likely that your issue was already reported or even fixed.
  • This repository is only for issues within the Nextcloud Notes Android app
    -->
    Please use GitHub reactions 👍 to show that you are affected by the same issue. Please don't comment if you have no relevant information to add!

Describe the bug

Receive Error: IndexOutOfBoundsException - setSpan starts before 0

To Reproduce
Steps to reproduce the behavior:

  1. Start Nextcloud Notes Android
  2. Click on searchfield
  3. type two chars like 'do'
  4. See error

Expected behavior

show search results

Screenshots

Smartphone (please complete the following information):

  • Nextcloud Notes-Version (android app): 4.1.0 RC1
  • F-Droid or Play Store: fdroid
  • Android-Version: 11
  • Device: nairo

Server

  • Nextcloud version: 26.0.4
  • Nextcloud Notes version (server app): 4.8.1

Stacktrace

App Version: 4.1.0 RC1
App Version Code: 40010051
App Flavor: fdroid

Files App Version Code: 30250090 (PROD)

---

OS Version: 4.19.125-perf+(9ab668)
OS API Level: 30
Device: nairo
Manufacturer: motorola
Model (and Product): moto g 5G plus (nairo_retaile)

---

java.lang.IndexOutOfBoundsException: setSpan (-1 ... 204) starts before 0
	at android.text.SpannableStringInternal.checkRange(SpannableStringInternal.java:497)
	at android.text.SpannableStringInternal.setSpan(SpannableStringInternal.java:197)
	at android.text.SpannableStringInternal.setSpan(SpannableStringInternal.java:184)
	at android.text.SpannableString.setSpan(SpannableString.java:60)
	at com.nextcloud.android.common.ui.theme.utils.AndroidViewThemeUtils.spanText(AndroidViewThemeUtils.kt:584)
	at com.nextcloud.android.common.ui.theme.utils.AndroidViewThemeUtils.highlightText(AndroidViewThemeUtils.kt:562)
	at com.nextcloud.android.common.ui.theme.utils.AndroidViewThemeUtils.access$highlightText(AndroidViewThemeUtils.kt:75)
	at com.nextcloud.android.common.ui.theme.utils.AndroidViewThemeUtils$highlightText$1.invoke(AndroidViewThemeUtils.kt:548)
	at com.nextcloud.android.common.ui.theme.utils.AndroidViewThemeUtils$highlightText$1.invoke(AndroidViewThemeUtils.kt:547)
	at com.nextcloud.android.common.ui.theme.ViewThemeUtilsBase.withScheme(ViewThemeUtilsBase.kt:49)
	at com.nextcloud.android.common.ui.theme.utils.AndroidViewThemeUtils.highlightText(AndroidViewThemeUtils.kt:547)
	at com.nextcloud.android.common.ui.theme.utils.AndroidViewThemeUtils.highlightText$default(AndroidViewThemeUtils.kt:541)
	at com.nextcloud.android.common.ui.theme.utils.AndroidViewThemeUtils.highlightText(Unknown Source:23)
	at it.niedermann.owncloud.notes.main.items.NoteViewHolder.bindSearchableContent(NoteViewHolder.java:98)
	at it.niedermann.owncloud.notes.main.items.list.NoteViewHolderWithExcerpt.bind(NoteViewHolderWithExcerpt.java:41)
	at it.niedermann.owncloud.notes.main.items.ItemAdapter.onBindViewHolder(ItemAdapter.java:154)
	at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7678)
	at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7761)
	at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6582)
	at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6848)
	at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6688)
	at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6684)
	at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2362)
	at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1662)
	at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1622)
	at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:687)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4604)
	at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3981)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:25548)
	at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onMeasure(SwipeRefreshLayout.java:705)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
	at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:760)
	at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:833)
	at android.view.View.measure(View.java:25548)
	at androidx.drawerlayout.widget.DrawerLayout.onMeasure(DrawerLayout.java:1156)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:145)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
	at com.android.internal.policy.DecorView.onMeasure(DecorView.java:781)
	at android.view.View.measure(View.java:25548)
	at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3527)
	at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2353)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2616)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2064)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8400)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972)
	at android.view.Choreographer.doCallbacks(Choreographer.java:796)
	at android.view.Choreographer.doFrame(Choreographer.java:731)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:250)
	at android.app.ActivityThread.main(ActivityThread.java:7755)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants