/*package*/ void restoreState(long[] adapterSavedState, boolean callHook, boolean callListeners) { mPositionTranslator.restoreExpandedGroupItems( adapterSavedState, (callHook ? mExpandableItemAdapter : null), (callListeners ? mOnGroupExpandListener : null), (callListeners ? mOnGroupCollapseListener : null)); }
private void rebuildPositionTranslator() { if (mPositionTranslator != null) { long[] savedState = mPositionTranslator.getSavedStateArray(); mPositionTranslator.build( mExpandableItemAdapter, ExpandablePositionTranslator.BUILD_OPTION_DEFAULT, mExpandableListManager.getDefaultGroupsExpandedState()); // NOTE: do not call hook routines and listener methods mPositionTranslator.restoreExpandedGroupItems(savedState, null, null, null); } }
public ExpandableRecyclerViewWrapperAdapter(RecyclerViewExpandableItemManager manager, RecyclerView.Adapter<RecyclerView.ViewHolder> adapter, long[] expandedItemsSavedState) { super(adapter); mExpandableItemAdapter = getExpandableItemAdapter(adapter); if (mExpandableItemAdapter == null) { throw new IllegalArgumentException("adapter does not implement ExpandableItemAdapter"); } if (manager == null) { throw new IllegalArgumentException("manager cannot be null"); } mExpandableListManager = manager; mPositionTranslator = new ExpandablePositionTranslator(); mPositionTranslator.build( mExpandableItemAdapter, ExpandablePositionTranslator.BUILD_OPTION_DEFAULT, mExpandableListManager.getDefaultGroupsExpandedState()); if (expandedItemsSavedState != null) { // NOTE: do not call hook routines and listener methods mPositionTranslator.restoreExpandedGroupItems(expandedItemsSavedState, null, null, null); } }