Just wanted to share, I was playing with your implementation and noticed scroll position are not saved on rotation screen. You would need to handle cases where you should not go async like here https://github.com/googlesamples/android-architecture-components/blob/178fe541643adb122d2a8925cf61a21950a4611c/GithubBrowserSample/app/src/main/java/com/android/example/github/ui/common/DataBoundListAdapter.java#L64-L74