protected void handleStateOnResult(LayoutChunkResult result, View[] views) {
        if (views == null) return;

        for (int i = 0; i < views.length; i++) {
            View view = views[i];
            if (view == null) {
                continue;
            }
            RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) view.getLayoutParams();

            // Consume the available space if the view is not removed OR changed
            if (params.isItemRemoved() || params.isItemChanged()) {
                result.mIgnoreConsumed = true;
            }

            // used when search a focusable view
            result.mFocusable = result.mFocusable || view.isFocusable();

            if (result.mFocusable && result.mIgnoreConsumed) {
                break;
            }
        }
    }
protected void handleStateOnResult ( LayoutChunkResult result , View [ ] views ) { if ( views == null ) return ; for ( int i = 0 ; i < views . length ; i ++ ) { View view = views [ i ] ; if ( view == null ) { continue ; } RecyclerView . LayoutParams params = ( RecyclerView . LayoutParams ) view . getLayoutParams ( ) ; if ( params . isItemRemoved ( ) || params . isItemChanged ( ) ) { result . mIgnoreConsumed = true ; } result . mFocusable = result . mFocusable || view . isFocusable ( ) ; if ( result . mFocusable && result . mIgnoreConsumed ) { break ; } } }
Helper methods to handle focus states for views
@param result
@param views