Commit ae02a1a4 authored by Varun Patil's avatar Varun Patil

Make calls to database asyncronous

parent c7704d02
......@@ -2,6 +2,7 @@ package in.ac.iitb.gymkhana.iitbapp.fragment;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
......@@ -13,6 +14,7 @@ import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.google.gson.Gson;
......@@ -75,8 +77,7 @@ public class FeedFragment extends BaseFragment {
super.onStart();
appDatabase = AppDatabase.getAppDatabase(getContext());
final List<Event> events = appDatabase.dbDao().getAllEvents();
displayEvents(events);
new showEventsFromDB().execute();
updateFeed();
......@@ -99,8 +100,7 @@ public class FeedFragment extends BaseFragment {
List<Event> events = newsFeedResponse.getEvents();
displayEvents(events);
appDatabase.dbDao().deleteEvents();
appDatabase.dbDao().insertEvents(events);
new updateDatabase().execute(events);
}
//Server Error
feedSwipeRefreshLayout.setRefreshing(false);
......@@ -114,6 +114,25 @@ public class FeedFragment extends BaseFragment {
});
}
private class updateDatabase extends AsyncTask<List<Event>, Void, Integer> {
@Override
protected Integer doInBackground(List<Event>... events) {
appDatabase.dbDao().deleteEvents();
appDatabase.dbDao().insertEvents(events[0]);
return 1;
}
}
private class showEventsFromDB extends AsyncTask<String, Void, List<Event>> {
@Override
protected List<Event> doInBackground(String... events) {
return appDatabase.dbDao().getAllEvents();
}
protected void onPostExecute(List<Event> result) {
displayEvents(result);
}
}
private void displayEvents(final List<Event> events) {
final FeedAdapter feedAdapter = new FeedAdapter(events, new ItemClickListener() {
@Override
......
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