Elicit ItemsData class and add DiffUtil.Callback
In the previous version, when there is a minor change in data, we will refresh the whole screen(and data) by invoking "recountItems" and "notifyDataSetChanged", which did lots of unnecessary works. In this new cl, I elicit ItemsData class, which encapsulates the list data used in adapter. When data changed, I build another ItemsData and use the DiffUtil.Callback to calculate diffs between ItemsDatas. In this way we can only refresh the items that changed in adapter. Since I cannot find usage of see_all.xml anymore, I delete the relevant code as well as the resource files. Bug: 30319913 Test: make RunSettingsRoboTests Change-Id: I4f753a26f624affea6c6c35d49cfb9c43fb74fe6
Loading
Please register or sign in to comment