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