package com.beloo.widget.chipslayoutmanager.layouter.criteria;
|
|
import com.beloo.widget.chipslayoutmanager.layouter.AbstractLayouter;
|
import com.beloo.widget.chipslayoutmanager.layouter.ILayouter;
|
import com.beloo.widget.chipslayoutmanager.layouter.ILayouterListener;
|
|
class CriteriaAdditionalRow extends FinishingCriteriaDecorator implements IFinishingCriteria, ILayouterListener {
|
|
private int requiredRowsCount;
|
|
private int additionalRowsCount;
|
|
CriteriaAdditionalRow(IFinishingCriteria finishingCriteria, int requiredRowsCount) {
|
super(finishingCriteria);
|
this.requiredRowsCount = requiredRowsCount;
|
}
|
|
@Override
|
public boolean isFinishedLayouting(AbstractLayouter abstractLayouter) {
|
abstractLayouter.addLayouterListener(this);
|
return super.isFinishedLayouting(abstractLayouter) && additionalRowsCount >= requiredRowsCount;
|
}
|
|
@Override
|
public void onLayoutRow(ILayouter layouter) {
|
if (super.isFinishedLayouting((AbstractLayouter) layouter)) {
|
additionalRowsCount++;
|
}
|
}
|
}
|