1102fc6fafe721522f2b67f86d89feda87096265 |
|
28-Aug-2014 |
Dake Gu <dake@google.com> |
GridLayoutManager: Multiple fixes to state saving 1. Implemented a LruCache based child states to limit the memory used. 2. When adding/removing child happens, clean up all cache (will lose all offscreen child view state). This is because we use index as key, which will be changed. 3. Evict item cache when item is changed. 4. Make saveChildren policy API of BaseGridView, only the vertical list which has nested horizontal list turned on this feature. This is quite reasonable assumption: only save the nested horizontal list's focus index but no more deeper children states: less expensive and avoid potential unknown problems. 5. load children states inline instead of requesting layout, fixed bug that requestLayout gets eaten by a top level scrolling layoutmanager. b/17212513 Change-Id: Ic60c7ac216fa265b64646c3072767983eeb02653
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ViewsStateBundle.java
|
81a36a4dd93bf2f14c2eb88ae01464f85ddb0706 |
|
27-Aug-2014 |
Dake Gu <dake@google.com> |
GridLayoutManager: forget child view state when there is a change b/17212513 Change-Id: I6bd73fab467d109fcdcb1d9664fe6c1a5fdf8acd
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ViewsStateBundle.java
|
906659fc65e7b8b1bc9f0c7cc3dabf7e64e8b9bf |
|
22-Aug-2014 |
Dake Gu <dake@google.com> |
GridLayoutManager: support nested onSaveInstance() This goes beyond just saving selected position, in order to support dynamic 2D list view (list view of list view), LayoutManager needs maintain a position/id to View state Bundle mapping for children. Child view will be saved when they are offscreen and restored when showing on screen. b/15702302 Change-Id: Ie48300684945ee3adacc042e73d06a411287e6d1
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ViewsStateBundle.java
|