badoualy / datepicker-timeline

An infinite scrolling timeline to pick a date
MIT License
464 stars 71 forks source link

date picker seems to crash when activity restores from savedInstanceState #12

Closed shahimclt closed 6 years ago

shahimclt commented 6 years ago

When the activity gets killed in the background, and then resumes, the app crashes with the following stack trace:

java.lang.StringIndexOutOfBoundsException: length=2; regionStart=0; regionLength=3
  at java.lang.String.substring(String.java:1931)
  at com.github.badoualy.datepicker.MonthView$MonthViewHolder.bind(MonthView.java:307)
  at com.github.badoualy.datepicker.MonthView$MonthAdapter.onBindViewHolder(MonthView.java:273)
  at com.github.badoualy.datepicker.MonthView$MonthAdapter.onBindViewHolder(MonthView.java:256)
  /*
  at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6482)
  at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6515)
  at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5458)
  at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5724)
  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563)
  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559)
  at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2229)
  at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1556)
  at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1516)
  at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:618)
  at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693)
  at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3410)
  at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3962)
  at android.view.View.layout(View.java:17523)
  at android.view.ViewGroup.layout(ViewGroup.java:5612)
  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
  at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
  at android.view.View.layout(View.java:17523)
  at android.view.ViewGroup.layout(ViewGroup.java:5612)
  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
  at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
  at android.view.View.layout(View.java:17523)
  at android.view.ViewGroup.layout(ViewGroup.java:5612)
  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
  at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
  at android.view.View.layout(View.java:17523)
  at android.view.ViewGroup.layout(ViewGroup.java:5612)
  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
  at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
  at android.support.v4.widget.NestedScrollView.onLayout(NestedScrollView.java:1670)
  at android.view.View.layout(View.java:17523)
  at android.view.ViewGroup.layout(ViewGroup.java:5612)
  at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1767)
  at android.view.View.layout(View.java:17523)
  at android.view.ViewGroup.layout(ViewGroup.java:5612)
  at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:132)
  at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
  at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1361)
  at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:869)
  at android.view.View.layout(View.java:17523)
  at android.view.ViewGroup.layout(ViewGroup.java:5612)
  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
  at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
  at android.view.View.layout(View.java:17523)
  at android.view.ViewGroup.layout(ViewGroup.java:5612)
  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
  */

I guess this is related to the library. any ideas on how to solve this?

badoualy commented 6 years ago

Fixed with https://github.com/badoualy/datepicker-timeline/pull/21