package com.beloo.widget.chipslayoutmanager.util.log; import android.util.SparseArray; import android.view.View; import com.beloo.widget.chipslayoutmanager.anchor.AnchorViewState; import java.util.Locale; class FillLogger implements IFillLogger { private SparseArray<View> viewCache; private int requestedItems; private int recycledItems; private int startCacheSize; private int recycledSize; FillLogger(SparseArray<View> viewCache) { this.viewCache = viewCache; } @Override public void onStartLayouter(int startPosition) { requestedItems = 0; recycledItems = 0; startCacheSize = viewCache.size(); Log.d("fillWithLayouter", "start position = " + startPosition, LogSwitcherFactory.FILL); Log.d("fillWithLayouter", "cached items = " + startCacheSize, LogSwitcherFactory.FILL); } @Override public void onItemRequested() { requestedItems++; } @Override public void onItemRecycled() { recycledItems++; } @Override public void onFinishedLayouter() { Log.d("fillWithLayouter", String.format(Locale.getDefault(), "reattached items = %d : requested items = %d recycledItems = %d", startCacheSize - viewCache.size(), requestedItems, recycledItems), LogSwitcherFactory.FILL); } @Override public void onAfterLayouter() { recycledSize = viewCache.size(); } @Override public void onRemovedAndRecycled(int position) { Log.d("fillWithLayouter", " recycle position =" + viewCache.keyAt(position), LogSwitcherFactory.FILL); recycledSize++; } @Override public void onAfterRemovingViews() { Log.d("fillWithLayouter", "recycled count = " + recycledSize, LogSwitcherFactory.FILL); } @Override public void onBeforeLayouter(AnchorViewState anchorView) { if (anchorView.getAnchorViewRect() != null) { Log.d("fill", "anchorPos " + anchorView.getPosition(), LogSwitcherFactory.FILL); Log.d("fill", "anchorTop " + anchorView.getAnchorViewRect().top, LogSwitcherFactory.FILL); } } }