mayokunadeniyi / Instant-Weather

An Android weather application implemented using the MVVM pattern, Retrofit2, Dagger Hilt, LiveData, ViewModel, Coroutines, Room, Navigation Components, Data Binding and some other libraries from the Android Jetpack.
MIT License
767 stars 165 forks source link

Filtered list not showing after changing date #38

Closed rikucherry1993 closed 2 years ago

rikucherry1993 commented 3 years ago

Hi, I'm learning how mvvm structure works so I forked this repository and tested it. Just one thing that I think it could be better is, the recyclerView in ForecastFragment doesn't show any items after I did the following steps:

It's not a critical issue because the items shown again after I refreshed the list, but still wanted the filtered list to be displayed immediately after filtering.

I think the index of current position after scrolling went out of bound of the filtered list’s length might be the reason, but failed to fix it. If you have any idea for how to optimize this please contact me.

mayokunadeniyi commented 2 years ago

Hi @rikucherry1993

First things first, apologies for the late response. Thank you for checking out the project and raising this issue. I have been able to reproduce this bug and will be working on a fix in no time. Will keep this issue open and update you on the progress.

rikucherry1993 commented 2 years ago

Hi @mayokunadeniyi, thank you for your reply. No worries ~ looking forword to hearing from you.

mayokunadeniyi commented 2 years ago

Hi @rikucherry1993

Thank you once again for checking out this project and raising the issue. I've been really busy hence the delay in pushing a fix for this critical bug you raised. I was making use of a custom, third-party layout manager that provided the nice fade and shrink animation for the head itemView when scrolling. Unfortunately using this custom layout manager introduced this bug and some UI jank on the forecast screen. I have removed it for now. My plan is to rewrite this application using jetpack compose and this will allow us to go crazy on animations, but for now, I've replaced the layout manager with a LinearLayoutManager and might ship a little feature to animate the head itemView before a compose rewrite.

Let me know if this resolves the bug. For now, I'll close this issue. Feel free to reopen it if the bug persists or open a new issue for something else :)

rikucherry1993 commented 2 years ago

Hi @mayokunadeniyi Sorry for the late reply. I've tried the latest version and the bug is gone. Thank you for taking the issue suriously.

My plan is to rewrite this application using jetpack compose and this will allow us to go crazy on animations, but for now, I've replaced the layout manager with a LinearLayoutManager and might ship a little feature to animate the head itemView before a compose rewrite.

It's happy to hear that you want to continuously improving this app, I think using jetpack compose is a cool idea. I'm learning Jetpack compose recently so it would be great to see how you are going to achieve it.