package com.yokmama.learn10.chapter07.lesson33;
import android.content.Context;
import android.support.v4.content.AsyncTaskLoader;
import com.yokmama.learn10.chapter07.lesson33.item.BaseItem;
import com.yokmama.learn10.chapter07.lesson33.item.BigImageItem;
import com.yokmama.learn10.chapter07.lesson33.item.ImageItem;
import com.yokmama.learn10.chapter07.lesson33.item.IndexItem;
import java.util.ArrayList;
import java.util.List;
/**
* Created by yokmama on 15/03/10.
*/
public class SampleDataGenerator extends AsyncTaskLoader<List<BaseItem>> {
private int mViewStyle;
public SampleDataGenerator(Context context, int viewStyle) {
super(context);
mViewStyle = viewStyle;
}
@Override
public List<BaseItem> loadInBackground() {
List<BaseItem> list = new ArrayList<>();
String name;
for (int i = 0; i < 21; i++) {
name = "dog" + (i + 1);
int id = getContext().getResources().getIdentifier(name, "drawable", "com.yokmama.learn10.demo");
if (mViewStyle == R.id.radioList || mViewStyle == R.id.radioGrid) {
//5個単位で目次を生成
if (i % 3 == 0) {
IndexItem item = new IndexItem();
item.setName("Index Title[" + i + "]");
list.add(item);
}
ImageItem item = new ImageItem();
item.setId(id);
item.setName(name);
list.add(item);
} else if (mViewStyle == R.id.radioStaggered) {
//3個ずつ並べるうち、一つ目を大きい画像に設定
if (i % 3 == 0) {
BigImageItem item = new BigImageItem();
item.setId(id);
item.setName(name);
list.add(item);
} else {
ImageItem item = new ImageItem();
item.setId(id);
item.setName(name);
list.add(item);
}
} else{
ImageItem item = new ImageItem();
item.setId(id);
item.setName(name);
list.add(item);
}
}
return list;
}
@Override
protected void onStartLoading() {
forceLoad();
}
}