Commit cafb0bd9 authored by Varun Patil's avatar Varun Patil

Fix regression of infinite loader in news/blog

parent dc23d8ab
......@@ -57,6 +57,6 @@ public class NewsFragment extends RecyclerViewFragment<NewsArticle, NewsAdapter>
@Override
Call<List<NewsArticle>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader) {
return retrofitInterface.getNews(sessionIDHeader, 0, 20, searchQuery);
return retrofitInterface.getNews(sessionIDHeader, getPostCount(), 20, searchQuery);
}
}
......@@ -74,6 +74,6 @@ public class PlacementBlogFragment extends RecyclerViewFragment<PlacementBlogPos
@Override
Call<List<PlacementBlogPost>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader) {
return retrofitInterface.getPlacementBlogFeed(sessionIDHeader, 0, 20, searchQuery);
return retrofitInterface.getPlacementBlogFeed(sessionIDHeader, getPostCount(), 20, searchQuery);
}
}
......@@ -37,6 +37,7 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
protected Class<S> adapterType;
protected SwipeRefreshLayout swipeRefreshLayout;
protected String searchQuery;
private S adapter = null;
protected void updateData() {
String sessionIDHeader = ((MainActivity) getActivity()).getSessionIDHeader();
......@@ -66,7 +67,7 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
if (getActivity() == null || getView() == null) return;
try {
final S s = adapterType.getDeclaredConstructor(List.class, ItemClickListener.class).newInstance(result, new ItemClickListener() {
adapter = adapterType.getDeclaredConstructor(List.class, ItemClickListener.class).newInstance(result, new ItemClickListener() {
@Override
public void onItemClick(View v, int position) {
String link = result.get(position).getLink();
......@@ -77,7 +78,7 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
getActivityBuffer().safely(new ActivityBuffer.IRunnable() {
@Override
public void run(Activity pActivity) {
recyclerView.setAdapter(s);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
boolean loading = false;
......@@ -96,13 +97,13 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
public void onResponse(Call<List<T>> call, Response<List<T>> response) {
if (response.isSuccessful()) {
loading = false;
List<T> posts = s.getPosts();
List<T> posts = adapter.getPosts();
posts.addAll(response.body());
if (response.body().size() == 0) {
showLoader = false;
}
s.setPosts(posts);
s.notifyDataSetChanged();
adapter.setPosts(posts);
adapter.notifyDataSetChanged();
}
}
......@@ -123,6 +124,11 @@ public abstract class RecyclerViewFragment<T extends Browsable, S extends Recycl
}
}
protected int getPostCount() {
if (adapter == null) { return 0; }
return adapter.getPosts().size();
}
private void openWebURL(String URL) {
Intent browse = new Intent(Intent.ACTION_VIEW, Uri.parse(URL));
startActivity(browse);
......
......@@ -74,6 +74,6 @@ public class TrainingBlogFragment extends RecyclerViewFragment<TrainingBlogPost,
@Override
Call<List<TrainingBlogPost>> getCall(RetrofitInterface retrofitInterface, String sessionIDHeader) {
return retrofitInterface.getTrainingBlogFeed(sessionIDHeader, 0, 20, searchQuery);
return retrofitInterface.getTrainingBlogFeed(sessionIDHeader, getPostCount(), 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