package tk.zielony.carbonsamples.component;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import java.util.Arrays;
import java.util.List;
import carbon.component.ComponentItem;
import carbon.component.DefaultHeaderItem;
import carbon.component.DefaultImageTextSubtextDateItem;
import carbon.component.ImageTextSubtextDateRow;
import carbon.component.PaddedHeaderRow;
import carbon.component.PaddingItem;
import carbon.component.PaddingRow;
import carbon.recycler.RowListAdapter;
import carbon.widget.RecyclerView;
import tk.zielony.carbonsamples.R;
import tk.zielony.carbonsamples.Samples;
import tk.zielony.carbonsamples.SamplesActivity;
import tk.zielony.randomdata.Generator;
import tk.zielony.randomdata.RandomData;
import tk.zielony.randomdata.common.DrawableImageGenerator;
import tk.zielony.randomdata.common.StringDateGenerator;
import tk.zielony.randomdata.common.TextGenerator;
import tk.zielony.randomdata.person.StringNameGenerator;
public class ImageTextSubtextDateListItemActivity extends SamplesActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listcomponent);
Samples.initToolbar(this, getString(R.string.imageTextSubtextDateListItemActivity_title));
List<ComponentItem> items = Arrays.asList(
new PaddingItem(getResources().getDimensionPixelSize(R.dimen.carbon_paddingHalf)),
new DefaultHeaderItem("Header"),
new DefaultImageTextSubtextDateItem(),
new DefaultImageTextSubtextDateItem(),
new DefaultHeaderItem("Header"),
new DefaultImageTextSubtextDateItem(),
new DefaultImageTextSubtextDateItem(),
new PaddingItem(getResources().getDimensionPixelSize(R.dimen.carbon_paddingHalf)));
RandomData randomData = new RandomData();
randomData.addGenerators(new Generator[]{
new DrawableImageGenerator(this),
new StringNameGenerator().withMatcher(f -> f.getName().equals("text") && f.getDeclaringClass().equals(DefaultImageTextSubtextDateItem.class)),
new TextGenerator().withMatcher(f -> f.getName().equals("subtext")),
new StringDateGenerator()
});
randomData.fill(items);
RecyclerView recycler = (RecyclerView) findViewById(R.id.recycler);
recycler.setLayoutManager(new LinearLayoutManager(this));
RowListAdapter adapter = new RowListAdapter<>(DefaultImageTextSubtextDateItem.class, ImageTextSubtextDateRow::new);
adapter.addFactory(PaddingItem.class, PaddingRow.FACTORY);
adapter.addFactory(DefaultHeaderItem.class, PaddedHeaderRow.FACTORY);
recycler.setAdapter(adapter);
adapter.setItems(items);
}
}