DroidKaigi / conference-app-2019

The Official Conference App for DroidKaigi 2019 Tokyo
https://droidkaigi.jp/2019/en/
Apache License 2.0
815 stars 267 forks source link

Session読み込み前にタイムテーブル画面に遷移すると白紙になる #794

Open sobaya-0141 opened 5 years ago

sobaya-0141 commented 5 years ago

Overview (Required)

koji-1009 commented 5 years ago

This issue has been reproduced in the emulator. (After the current master, after merge #797, a crash occurred.)

Application: io.github.droidkaigi.confsched2019.debug
Manufacturer: Google
Model: Android SDK built for x86
Brand: google
Device: generic_x86
Board: goldfish_x86
Hardware: ranchu
Product: sdk_gphone_x86
Android Version: 9

java.lang.IndexOutOfBoundsException: Requested position -1in group adapter but there are only 0 items
   com.xwray.groupie.GroupAdapter.getItem(GroupAdapter.java:202)
   com.xwray.groupie.GroupAdapter.getItem(GroupAdapter.java:207)
   io.github.droidkaigi.confsched2019.session.ui.widget.TimetableCurrentTimeLineDecoration.calcLineHeight(TimetableCurrentTimeLineDecoration.kt:62)
   io.github.droidkaigi.confsched2019.session.ui.widget.TimetableCurrentTimeLabelDecoration.onDrawOver(TimetableCurrentTimeLabelDecoration.kt:75)
   androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:4223)
   android.view.View.updateDisplayListIfDirty(View.java:19082)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:2072)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:2072)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:1426)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.draw(View.java:20210)
   android.view.View.updateDisplayListIfDirty(View.java:19082)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.updateDisplayListIfDirty(View.java:19073)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.draw(View.java:20210)
   android.view.View.updateDisplayListIfDirty(View.java:19082)
   android.view.View.draw(View.java:19935)
   android.view.ViewGroup.drawChild(ViewGroup.java:4333)
   android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
   android.view.View.draw(View.java:20210)
   com.android.internal.policy.DecorView.draw(DecorView.java:780)
   android.view.View.updateDisplayListIfDirty(View.java:19082)
   android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
   android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
   android.view.ThreadedRenderer.draw(ThreadedRenderer.java:801)
   android.view.ViewRootImpl.draw(ViewRootImpl.java:3311)
   android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3115)
   android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2484)
   android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1460)
   android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7183)
   android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
   android.view.Choreographer.doCallbacks(Choreographer.java:761)
   android.view.Choreographer.doFrame(Choreographer.java:696)
   android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
   android.os.Handler.handleCallback(Handler.java:873)
   android.os.Handler.dispatchMessage(Handler.java:99)
   android.os.Looper.loop(Looper.java:193)
   android.app.ActivityThread.main(ActivityThread.java:6669)
   java.lang.reflect.Method.invoke(Native Method)
   com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
koji-1009 commented 5 years ago
takahirom commented 5 years ago

@koji-1009 Can you send pr for that?🙏

takahirom commented 5 years ago

In TimetableCurrentTimeLineDecoration.calcLineHeight, you can judge RecyclerView.NO_POSITION.

takahirom commented 5 years ago

It can be fixed that it will be blank at the beginning of the transition. However, I will resolve it when I return. It is not serious, so it is not a problem to fix from now.

koji-1009 commented 5 years ago

OK, I'll take care of this.

koji-1009 commented 5 years ago

It can be fixed that it will be blank at the beginning of the transition. However, I will resolve it when I return. It is not serious, so it is not a problem to fix from now.

Thanks. I'm thinking now this point.

takahirom commented 5 years ago

But I want to fix the crash so please pr.🙏

koji-1009 commented 5 years ago

Oh, sorry. I'm on the train now. I will send PR after 20 min. Is that is too late?

すいません、いま電車で移動中のためPR作成までに20分程かかりそうです。 間に合わないよであれば、他のかたにPRをお願いしたく 。。