Commit 3ddf3add authored by Varun Patil's avatar Varun Patil

Fix crash on scrolling while refreshing

parent 4e70f08c
......@@ -56,7 +56,7 @@ public class NewsFragment extends RecyclerViewFragment<NewsArticle, NewsAdapter>
}
@Override
Call<List<NewsArticle>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader) {
return retrofitInterface.getNews(sessionIDHeader, getPostCount(), 20, searchQuery);
Call<List<NewsArticle>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader, int postCount) {
return retrofitInterface.getNews(sessionIDHeader, postCount, 20, searchQuery);
}
}
......@@ -73,7 +73,7 @@ public class PlacementBlogFragment extends RecyclerViewFragment<PlacementBlogPos
}
@Override
Call<List<PlacementBlogPost>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader) {
return retrofitInterface.getPlacementBlogFeed(sessionIDHeader, getPostCount(), 20, searchQuery);
Call<List<PlacementBlogPost>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader, int postCount) {
return retrofitInterface.getPlacementBlogFeed(sessionIDHeader, postCount, 20, searchQuery);
}
}
......@@ -48,13 +48,12 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
if (getActivity() == null || getView() == null) return;
// Clear variables
clearPosts();
allLoaded = false;
// Make the request
String sessionIDHeader = ((MainActivity) getActivity()).getSessionIDHeader();
RetrofitInterface retrofitInterface = ((MainActivity) getActivity()).getRetrofitInterface();
Call<List<T>> call = getCall(retrofitInterface, sessionIDHeader);
Call<List<T>> call = getCall(retrofitInterface, sessionIDHeader, 0);
call.enqueue(new Callback<List<T>>() {
@Override
public void onResponse(Call<List<T>> call, Response<List<T>> response) {
......@@ -72,7 +71,7 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
});
}
abstract Call<List<T>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader);
abstract Call<List<T>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader, int postCount);
private void displayData(final List<T> result) {
/* Skip if we're already destroyed */
......@@ -122,7 +121,7 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
loading = true;
String sessionIDHeader = ((MainActivity) getActivity()).getSessionIDHeader();
RetrofitInterface retrofitInterface = ((MainActivity) getActivity()).getRetrofitInterface();
Call<List<T>> call = getCall(retrofitInterface, sessionIDHeader);
Call<List<T>> call = getCall(retrofitInterface, sessionIDHeader, getPostCount());
call.enqueue(new Callback<List<T>>() {
@Override
public void onResponse(Call<List<T>> call, Response<List<T>> response) {
......@@ -153,12 +152,6 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
});
}
protected void clearPosts() {
if (adapter != null) {
adapter.setPosts(new ArrayList<T>());
}
}
protected int getPostCount() {
if (adapter == null) { return 0; }
return adapter.getPosts().size();
......
......@@ -73,7 +73,7 @@ public class TrainingBlogFragment extends RecyclerViewFragment<TrainingBlogPost,
}
@Override
Call<List<TrainingBlogPost>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader) {
return retrofitInterface.getTrainingBlogFeed(sessionIDHeader, getPostCount(), 20, searchQuery);
Call<List<TrainingBlogPost>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader, int postCount) {
return retrofitInterface.getTrainingBlogFeed(sessionIDHeader, postCount, 20, searchQuery);
}
}
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