Closed takahirom closed 5 years ago
やり方が悪い可能性がありますが、 対応しようとすると、#785 #777 と同じエラーメッセージのクラッシュが起きる気がします。 ※#777 の方は特に自信無いです。。。(無関係かもしれません)
TabularSpeachSessionItemはSpeachSessionItemのお気に入り部分をほぼ移植 TabularServiceSessionItemはServiceSessionItemのお気に入り部分をほぼ移植 で試しています。
OverviewにあるSessionContentsActionCreatorをInjectはしていないので、 アプローチの方法がそもそも違うかもしれません。。。
いやアプローチ的にはあっていそうです 👀 スクロールしなくても #785 は長押しでも起こる感じになりますか? それともRecyclerViewでnotifyDataSetChangedが走るとクラッシュするんですかね?
仕事の合間だったので、すぐ諦めてしまったので記憶があいまいですが、 長押しで発生した気がします。
時間が作れれば再度試してみます!!
自宅環境で同じコードで試してみましたが、 長押しで発生します。(画面の描画は終わっており、スクロールさせずに発生しました。) が、logcatでerrorを吐いてくれず、別の問題かもしれないです。。。 ※もうちょっと調べてみます。
検証端末を変えたらlogcatも表示され、同一のエラーでした。 ですので、長押しで #785 が発生します。
多分原因としてはfavoriteが切り替わるとまたsessionをすべて流すので、そのタイミングで、更新がかかって起こるのではないかと思っています
私の知識不足で申し訳ないのですが、 GroupieではAdapter#updateとすることでnotifyすると認識しています。 TabularFormSessionPageFragmentにてAdapter#updateしているのが、 日付変更部分のみしか見当たらず自分の力では原因の特定までできませんでした。。。 https://github.com/DroidKaigi/conference-app-2019/blob/c7daf6e8eab7f4db5de70c718b655f6cf68e3eab/feature/session/src/main/java/io/github/droidkaigi/confsched2019/session/ui/TabularFormSessionPageFragment.kt#L138
無駄にお手数をおかけしてしまい、本当に申し訳ありません :bowing_man:
Kind (Required)
Other
Overview (Required)
I think it is easy. We can do it by using
@Inject lateinit var sessionContentsActionCreator: SessionContentsActionCreator
and callingtoggleFavorite()
Please take care ServiceSession.sessionType.isFavoritable