vilnius / tvarkau-vilniu

Tvarkau Vilniu Android app
https://play.google.com/store/apps/details?id=lt.vilnius.tvarkau
MIT License
24 stars 14 forks source link

Refactoring report list views #150

Closed mjurkus closed 7 years ago

vycius commented 7 years ago

After I submitted report and navigated to My Reports application crashed. This crash persist on app restart and every time My Reports or All reports are opened it crashes. Clearing storage helped.

01-08 23:37:04.635 9893-9893/lt.vilnius.tvarkau E/AndroidRuntime: FATAL EXCEPTION: main
                                                                  Process: lt.vilnius.tvarkau, PID: 9893
                                                                  java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{b98504f position=1 id=-1, oldPos=0, pLpos:0 scrap [attachedScrap] tmpDetached no parent}
                                                                      at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:5046)
                                                                      at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5177)
                                                                      at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5158)
                                                                      at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2061)
                                                                      at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1445)
                                                                      at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1408)
                                                                      at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:580)
                                                                      at android.support.v7.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:3330)
                                                                      at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3186)
                                                                      at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3632)
                                                                      at android.view.View.layout(View.java:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:630)
                                                                      at android.view.View.layout(View.java:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1142)
                                                                      at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:836)
                                                                      at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:850)
                                                                      at android.view.View.layout(View.java:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1799)
                                                                      at android.view.View.layout(View.java:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
                                                                      at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
                                                                      at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1367)
                                                                      at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:849)
                                                                      at android.view.View.layout(View.java:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
                                                                      at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
                                                                      at android.view.View.layout(View.java:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      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:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
                                                                      at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
                                                                      at android.view.View.layout(View.java:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      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:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
                                                                      at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
                                                                      at com.android.internal.policy.DecorView.onLayout(DecorView.java:726)
                                                                      at android.view.View.layout(View.java:17637)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:5575)
                                                                      at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2346)
01-08 23:37:04.635 9893-9893/lt.vilnius.tvarkau E/AndroidRuntime:     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2068)
                                                                      at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
                                                                      at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6337)
                                                                      at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
                                                                      at android.view.Choreographer.doCallbacks(Choreographer.java:686)
                                                                      at android.view.Choreographer.doFrame(Choreographer.java:621)
                                                                      at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
                                                                      at android.os.Handler.handleCallback(Handler.java:751)
                                                                      at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                      at android.os.Looper.loop(Looper.java:154)
                                                                      at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                                      at java.lang.reflect.Method.invoke(Native Method)
                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
vycius commented 7 years ago

Infinite loading in my reports screenshot_20170108-234341

vycius commented 7 years ago

My reports empty view is presented even if I have one report. After closing this application started crashing. screenshot_20170108-233640

vycius commented 7 years ago

If pulled to refresh is pulled while loading is happening. Loading indicator is shown forever. screenshot_20170108-234536

vycius commented 7 years ago

It would be really nice to restore fragment state: reports + RecyclerView position.

mjurkus commented 7 years ago

@vycius could you take a look once more?

vycius commented 7 years ago

LGTM