package com.beloo.chipslayoutmanager.sample.ui;
import android.support.v7.widget.RecyclerView;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import com.beloo.chipslayoutmanager.sample.R;
import com.beloo.chipslayoutmanager.sample.ui.adapter.ChipsAdapter;
import com.beloo.chipslayoutmanager.sample.entity.ChipsEntity;
class ShortChipsFactory implements IItemsFactory<ChipsEntity> {
@Override
public List<ChipsEntity> getFewItems() {
List<ChipsEntity> chipsList = new ArrayList<>();
chipsList.add(ChipsEntity.newBuilder()
.drawableResId(R.drawable.batman)
.name("Batman")
.build());
chipsList.add(ChipsEntity.newBuilder()
.name("V")
.build());
chipsList.add(ChipsEntity.newBuilder()
.drawableResId(R.drawable.girl2)
.name("Jayne")
.description("Everyone want to meet Jayne")
.build());
chipsList.add(ChipsEntity.newBuilder()
.drawableResId(R.drawable.girl3)
.name("Cat")
.build());
chipsList.add(ChipsEntity.newBuilder()
.name("J")
.build());
chipsList.add(ChipsEntity.newBuilder()
.name("A")
.build());
chipsList.add(ChipsEntity.newBuilder()
.drawableResId(R.drawable.batman)
.name("Second Batman")
.description("Batman is our friend")
.build());
chipsList.add(ChipsEntity.newBuilder()
.name("C")
.build());
chipsList.add(ChipsEntity.newBuilder()
.drawableResId(R.drawable.karl)
.name("Karl")
.build());
chipsList.add(ChipsEntity.newBuilder()
.drawableResId(R.drawable.anonymous)
.name("Very Long Name Anonymous")
.build());
return chipsList;
}
@Override
public List<ChipsEntity> getItems() {
List<ChipsEntity> chipsEntities = getFewItems();
List<ChipsEntity> secondPortion = getFewItems();
Collections.reverse(secondPortion);
chipsEntities.addAll(secondPortion);
chipsEntities.addAll(getFewItems());
chipsEntities.addAll(getFewItems());
for (int i=0; i< chipsEntities.size(); i++) {
ChipsEntity chipsEntity = chipsEntities.get(i);
chipsEntity.setName(chipsEntity.getName() + " " + i);
}
return chipsEntities;
}
@Override
public List<ChipsEntity> getDoubleItems() {
List<ChipsEntity> chipsEntities = getFewItems();
List<ChipsEntity> secondPortion = getFewItems();
Collections.reverse(secondPortion);
chipsEntities.addAll(secondPortion);
return chipsEntities;
}
@Override
public List<ChipsEntity> getALotOfItems() {
List<ChipsEntity> entities = new LinkedList<>();
for (int i=0; i < 5; i++){
entities.addAll(getItems());
}
return entities;
}
@Override
public List<ChipsEntity> getALotOfRandomItems() {
throw new UnsupportedOperationException("not implemented");
}
@Override
public ChipsEntity createOneItemForPosition(int position) {
return ChipsEntity.newBuilder()
.name("Newbie " + position)
.drawableResId(R.drawable.china_girl)
.build();
}
@Override
public RecyclerView.Adapter<? extends RecyclerView.ViewHolder> createAdapter(List<ChipsEntity> chipsEntities, OnRemoveListener onRemoveListener) {
return new ChipsAdapter(chipsEntities, onRemoveListener);
}
}