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