package by.istin.android.xcore.sample;
import android.database.Cursor;
import android.net.Uri;
import android.support.v4.app.Fragment;
import android.view.View;
import by.istin.android.xcore.fragment.XListFragment;
import by.istin.android.xcore.provider.ModelContract;
import by.istin.android.xcore.sample.core.model.SampleEntity;
import by.istin.android.xcore.sample.core.processor.SampleEntityProcessor;
public class MainActivity extends AbstractActivity {
@Override
protected Fragment createFragment() {
return new SampleListFragment();
}
public static class SampleListFragment extends XListFragment {
private static final String PAGE1 = "https://dl.dropboxusercontent.com/u/16403954/xcore/sample_page_1.json?page=1";
private static final String PAGE2 = "https://dl.dropboxusercontent.com/u/16403954/xcore/sample_page_2.json?page=2";
public SampleListFragment() {
}
@Override
public void onListItemClick(Cursor cursor, View view, int i, long l) {
}
@Override
public int getViewLayout() {
return R.layout.fragment_main;
}
@Override
public Uri getUri() {
return ModelContract.getUri(SampleEntity.class);
}
@Override
public String getUrl() {
return PAGE1;
}
@Override
protected void onPageLoad(int newPage, int totalItemCount) {
loadData(getActivity(), PAGE2, PAGE1);
}
@Override
protected boolean isPagingSupport() {
return true;
}
@Override
public String getProcessorKey() {
return SampleEntityProcessor.APP_SERVICE_KEY;
}
@Override
protected String[] getAdapterColumns() {
return new String[]{SampleEntity.TITLE, SampleEntity.ABOUT, SampleEntity.IMAGE_URL};
}
@Override
protected int[] getAdapterControlIds() {
return new int[]{R.id.title, R.id.about, R.id.thumbnail};
}
@Override
protected int getAdapterLayout() {
return R.layout.adapter_sample_entity;
}
@Override
public long getCacheExpiration() {
return 1l;
}
}
}