Commit c7704d02 authored by Varun Patil's avatar Varun Patil

Store full body in database

parent cdd4b1e0
......@@ -21,6 +21,9 @@ public interface DbDao {
@Query("SELECT * FROM venues")
List<Venue> getAllVenues();
@Query("SELECT * FROM bodies WHERE id == :id")
public Body[] getBody(String id);
@Query("SELECT COUNT(*) from events")
int countEvents();
......@@ -36,6 +39,9 @@ public interface DbDao {
@Insert
void insertBodies(List<Body> bodies);
@Insert
void insertBody(Body body);
@Insert
void insertVenues(List<Venue> venues);
......
......@@ -15,6 +15,7 @@ import in.ac.iitb.gymkhana.iitbapp.MainActivity;
import in.ac.iitb.gymkhana.iitbapp.R;
import in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface;
import in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator;
import in.ac.iitb.gymkhana.iitbapp.data.AppDatabase;
import in.ac.iitb.gymkhana.iitbapp.data.Body;
import retrofit2.Call;
import retrofit2.Callback;
......@@ -30,6 +31,7 @@ public class BodyFragment extends Fragment {
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_BODY = "body";
private AppDatabase appDatabase;
String TAG = "BodyFragment";
// TODO: Rename and change types of parameters
......@@ -67,8 +69,17 @@ public class BodyFragment extends Fragment {
@Override
public void onStart() {
super.onStart();
/* Initialize */
appDatabase = AppDatabase.getAppDatabase(getContext());
Body[] inLocalDb = appDatabase.dbDao().getBody(min_body.getBodyID());
if (inLocalDb.length > 0) {
displayBody(inLocalDb[0]);
} else {
updateBody();
}
}
private void updateBody() {
RetrofitInterface retrofitInterface = ServiceGenerator.createService(RetrofitInterface.class);
......@@ -77,6 +88,9 @@ public class BodyFragment extends Fragment {
public void onResponse(Call<Body> call, Response<Body> response) {
if (response.isSuccessful()) {
Body body = response.body();
appDatabase.dbDao().insertBody(body);
displayBody(body);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment