Commit 4c971757 authored by Varun Patil's avatar Varun Patil

Memory cache when going back to explore

parent 8d98957b
...@@ -22,6 +22,7 @@ import app.insti.activity.MainActivity; ...@@ -22,6 +22,7 @@ import app.insti.activity.MainActivity;
import app.insti.adapter.BodyAdapter; import app.insti.adapter.BodyAdapter;
import app.insti.adapter.FeedAdapter; import app.insti.adapter.FeedAdapter;
import app.insti.adapter.UserAdapter; import app.insti.adapter.UserAdapter;
import app.insti.api.EmptyCallback;
import app.insti.api.RetrofitInterface; import app.insti.api.RetrofitInterface;
import app.insti.api.model.Body; import app.insti.api.model.Body;
import app.insti.api.model.Event; import app.insti.api.model.Event;
...@@ -39,10 +40,10 @@ import retrofit2.Response; ...@@ -39,10 +40,10 @@ import retrofit2.Response;
public class ExploreFragment extends Fragment { public class ExploreFragment extends Fragment {
private String sessionId; private String sessionId;
private List<Body> allBodies = new ArrayList<>(); private static List<Body> allBodies = new ArrayList<>();
private List<Body> bodies = new ArrayList<>(); private static List<Body> bodies = new ArrayList<>();
private List<Event> events = new ArrayList<>(); private static List<Event> events = new ArrayList<>();
private List<User> users = new ArrayList<>(); private static List<User> users = new ArrayList<>();
private BodyAdapter bodyAdapter; private BodyAdapter bodyAdapter;
private FeedAdapter eventsAdapter; private FeedAdapter eventsAdapter;
...@@ -83,19 +84,16 @@ public class ExploreFragment extends Fragment { ...@@ -83,19 +84,16 @@ public class ExploreFragment extends Fragment {
// Get all bodies // Get all bodies
if (allBodies.size() == 0) { if (allBodies.size() == 0) {
RetrofitInterface retrofitInterface = ((MainActivity) getActivity()).getRetrofitInterface(); RetrofitInterface retrofitInterface = ((MainActivity) getActivity()).getRetrofitInterface();
retrofitInterface.getAllBodies(sessionId).enqueue(new Callback<List<Body>>() { retrofitInterface.getAllBodies(sessionId).enqueue(new EmptyCallback<List<Body>>() {
@Override @Override
public void onResponse(Call<List<Body>> call, Response<List<Body>> response) { public void onResponse(Call<List<Body>> call, Response<List<Body>> response) {
allBodies = response.body(); allBodies = response.body();
bodies = allBodies; bodies = allBodies;
updateAdapters(bodies, new ArrayList<Event>(), new ArrayList<User>()); updateAdapters(allBodies, new ArrayList<Event>(), new ArrayList<User>());
}
@Override
public void onFailure(Call<List<Body>> call, Throwable t) {
} }
}); });
} else { } else {
updateAdapters(bodies, events, users);
getView().findViewById(R.id.loadingPanel).setVisibility(View.GONE); getView().findViewById(R.id.loadingPanel).setVisibility(View.GONE);
} }
...@@ -103,20 +101,17 @@ public class ExploreFragment extends Fragment { ...@@ -103,20 +101,17 @@ public class ExploreFragment extends Fragment {
final EditText searchEditText = getView().findViewById(R.id.explore_search); final EditText searchEditText = getView().findViewById(R.id.explore_search);
searchEditText.addTextChangedListener(new TextWatcher() { searchEditText.addTextChangedListener(new TextWatcher() {
@Override @Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
}
@Override @Override
public void onTextChanged(CharSequence s, int start, int before, int count) { public void onTextChanged(CharSequence s, int start, int before, int count) {}
}
@Override @Override
public void afterTextChanged(Editable s) { public void afterTextChanged(Editable s) {
if (searchEditText.getText().length() >= 3) { if (searchEditText.getText().length() >= 3) {
doSearch(searchEditText.getText().toString()); doSearch(searchEditText.getText().toString());
} else if (searchEditText.getText().length() == 0) { } else if (searchEditText.getText().length() == 0) {
bodies = allBodies; updateAdapters(allBodies, new ArrayList<Event>(), new ArrayList<User>());
updateAdapters(bodies, new ArrayList<Event>(), new ArrayList<User>());
} }
} }
}); });
...@@ -137,7 +132,7 @@ public class ExploreFragment extends Fragment { ...@@ -137,7 +132,7 @@ public class ExploreFragment extends Fragment {
// Make request // Make request
RetrofitInterface retrofitInterface = ((MainActivity) getActivity()).getRetrofitInterface(); RetrofitInterface retrofitInterface = ((MainActivity) getActivity()).getRetrofitInterface();
retrofitInterface.search(sessionId, query).enqueue(new Callback<ExploreResponse>() { retrofitInterface.search(sessionId, query).enqueue(new EmptyCallback<ExploreResponse>() {
@Override @Override
public void onResponse(Call<ExploreResponse> call, Response<ExploreResponse> response) { public void onResponse(Call<ExploreResponse> call, Response<ExploreResponse> response) {
// Get data // Get data
...@@ -146,11 +141,6 @@ public class ExploreFragment extends Fragment { ...@@ -146,11 +141,6 @@ public class ExploreFragment extends Fragment {
users = response.body().getUsers(); users = response.body().getUsers();
updateAdapters(bodies, events, users); updateAdapters(bodies, events, users);
} }
@Override
public void onFailure(Call<ExploreResponse> call, Throwable t) {
// Request failed
}
}); });
} }
......
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