package com.twistedequations.crossbow_test;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import com.android.volley.Response;
import com.android.volley.SyncResponse;
import com.android.volley.VolleyError;
import com.crossbow.gson.GsonGetRequest;
import com.crossbow.volley.toolbox.Crossbow;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
public class ActivitySyncRequest extends AppCompatActivity {
@Bind(R.id.load_stats)
TextView textView;
private LoadTask loadTask;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_asset_load);
ButterKnife.bind(this);
loadTask = new LoadTask();
loadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (loadTask != null) {
loadTask.cancel(true);
}
}
private class LoadTask extends AsyncTask<Void, Void, SyncResponse<List<Repo>>> {
long startTime;
@Override
protected void onPreExecute() {
super.onPreExecute();
startTime = System.currentTimeMillis();
}
@Override
protected SyncResponse<List<Repo>> doInBackground(Void... params) {
GsonGetRequest<List<Repo>> requestRepos = new GsonGetRequest<List<Repo>>("https://api.github.com/users/twistedequations/repos", null, null) {
};
return Crossbow.get(ActivitySyncRequest.this).sync(requestRepos);
}
@Override
protected void onPostExecute(SyncResponse<List<Repo>> repoList) {
long time = System.currentTimeMillis() - startTime;
if (repoList.isSuccess()) {
textView.setText("https://api.github.com/users/twistedequations/repos\nin " + time + "ms\n\n" + repoList.data.get(0));
}
else {
textView.setText("Request error");
}
}
}
}