package com.beloo.widget.chipslayoutmanager.layouter.breaker; import com.beloo.widget.chipslayoutmanager.cache.IViewCacheStorage; import com.beloo.widget.chipslayoutmanager.layouter.AbstractLayouter; class CacheRowBreaker extends RowBreakerDecorator { private IViewCacheStorage cacheStorage; CacheRowBreaker(IViewCacheStorage cacheStorage, ILayoutRowBreaker decorate) { super(decorate); this.cacheStorage = cacheStorage; } @Override public boolean isRowBroke(AbstractLayouter al) { boolean stopDueToCache = cacheStorage.isPositionEndsRow(al.getCurrentViewPosition()); return super.isRowBroke(al) || stopDueToCache; } }