package com.beloo.chipslayoutmanager.sample.ui;
import android.support.v7.widget.RecyclerView;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
import com.beloo.chipslayoutmanager.sample.ui.adapter.RecyclerViewAdapter;
public class ItemsFactory implements IItemsFactory<String> {
public List<String> getItems() {
List<String> list = new LinkedList<>();
list.add("Item0.0");
list.add("Item1.1");
list.add("Item2.2");
list.add("Item3.3");
list.add("Item4.4");
list.add("!Item5.5");
list.add("Item6.6");
list.add("Item7.7");
list.add("Item8.8");
list.add("Item9.9");
list.add("Item10.10");
list.add("!Item11.11");
list.add("Item12.12");
list.add("Item1001.13");
list.add("Item1002.14");
list.add("Item1003.15");
list.add("!Item1004.16");
list.add("!Item10001.17");
list.add("Item10002.18");
list.add("Item19");
list.add("Item20");
list.add("Item21");
list.add("Item22");
list.add("Item23");
list.add("Item24");
list.add("Item25");
list.add("Item26");
list.add("Item27");
return list;
}
@Override
public List<String> getDoubleItems() {
throw new UnsupportedOperationException("not implemented");
}
public List<String> getFewItems() {
List<String> list = new LinkedList<>();
list.add("Item0.0");
list.add("Item1.1");
list.add("Item2.2");
list.add("Item3.3");
return list;
}
public List<String> getALotOfItems() {
List<String> list = new LinkedList<>();
list.add("START item.0");
list.add("!tall item here. 1");
for (int i = 2; i< 1000; i++) {
if (i%3 == 0) {
list.add("!tall item here." + i);
} else if (i % 5 == 0) {
list.add("S." + i);
} else {
list.add("a span." + i);
}
}
return list;
}
public List<String> getALotOfRandomItems() {
List<String> list = new LinkedList<>();
list.add("START item.0");
for (int i =0; i< 1000; i++) {
Random random = new Random();
int rand = random.nextInt(3);
switch (rand) {
case 1:
list.add("a span." + (i+1));
break;
case 2:
list.add("!tall item here." + (i+1));
break;
default:
list.add("S." + (i+1));
break;
}
}
return list;
}
@Override
public String createOneItemForPosition(int position) {
return "inserted item." + position;
}
@Override
public RecyclerView.Adapter<? extends RecyclerView.ViewHolder> createAdapter(List<String> items, OnRemoveListener onRemoveListener) {
return new RecyclerViewAdapter(items, onRemoveListener);
}
}