/** Resets this TaskStackView for reuse. */ void reset() { // Reset the focused task resetFocusedTask(); // Return all the views to the pool int childCount = getChildCount(); for (int i = childCount - 1; i >= 0; i--) { DeckChildView<T> tv = (DeckChildView) getChildAt(i); mViewPool.returnViewToPool(tv); } // Mark each task view for relayout if (mViewPool != null) { Iterator<DeckChildView<T>> iter = mViewPool.poolViewIterator(); if (iter != null) { while (iter.hasNext()) { DeckChildView tv = iter.next(); tv.reset(); } } } // Reset the stack state mStackViewsDirty = true; mStackViewsClipDirty = true; mAwaitingFirstLayout = true; mPrevAccessibilityFocusedIndex = -1; if (mUIDozeTrigger != null) { mUIDozeTrigger.stopDozing(); mUIDozeTrigger.resetTrigger(); } mStackScroller.reset(); }
@Override public void onDeckChildViewClicked(DeckChildView<T> dcv, T key) { // Cancel any doze triggers mUIDozeTrigger.stopDozing(); mCallback.onItemClick(key); }