question: private void updateModel ( Image imageToUpdate ) { Log . v ( TAG , "updateModel, imageToUpdate " + imageToUpdate ) ; for ( Image image : mImagesList ) { if ( image . equals ( imageToUpdate ) ) { Log . v ( TAG , "updateModel, found imageToUpdate " + imageToUpdate ) ; image . setVisibility ( imageToUpdate . isVisible ( ) ) ; break ; } } int index = mImagesList . indexOf ( imageToUpdate ) ; Log . v ( TAG , "updateModel, index " + index ) ; mAdapter . notifyItemChanged ( index ) ; Rect dirty = new Rect ( ) ; View viewAtPosition = mLayoutManager . findViewByPosition ( index ) ; viewAtPosition . getDrawingRect ( dirty ) ; mRecyclerView . invalidate ( dirty ) ; }
target:  This method basically changes visibility of concrete item