Skip to content

Commit 8ed1c4c

Browse files
committed
Add autoloading pics for newsfeed
1 parent 814b936 commit 8ed1c4c

3 files changed

Lines changed: 17 additions & 9 deletions

File tree

app/src/main/java/uk/openvk/android/refresh/api/Newsfeed.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -274,17 +274,21 @@ public void get(OvkAPIWrapper ovk, int count) {
274274
}
275275

276276
public void get(OvkAPIWrapper ovk, int count, long start_from) {
277-
ovk.sendAPIMethod("Newsfeed.get", String.format("count=%s&start_from=%s&extended=1",
278-
count, start_from), "more_news");
277+
if(start_from > 0) {
278+
ovk.sendAPIMethod("Newsfeed.get", String.format("count=%s&start_from=%s&extended=1",
279+
count, start_from), "more_news");
280+
}
279281
}
280282

281283
public void getGlobal(OvkAPIWrapper ovk, int count) {
282284
ovk.sendAPIMethod("Newsfeed.getGlobal", String.format("count=%s&extended=1", count));
283285
}
284286

285287
public void getGlobal(OvkAPIWrapper ovk, int count, long start_from) {
286-
ovk.sendAPIMethod("Newsfeed.getGlobal", String.format("count=%s&start_from=%s&extended=1",
287-
count, start_from), "more_news");
288+
if(start_from > 0) {
289+
ovk.sendAPIMethod("Newsfeed.getGlobal", String.format("count=%s&start_from=%s&extended=1",
290+
count, start_from), "more_news");
291+
}
288292
}
289293

290294
public ArrayList<Attachment> createAttachmentsList(long owner_id, long post_id, String quality,

app/src/main/java/uk/openvk/android/refresh/ui/core/activities/AppActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -662,6 +662,7 @@ public Fragment getSelectedFragment() {
662662
return selectedFragment;
663663
}
664664

665+
@SuppressLint("NotifyDataSetChanged")
665666
private void receiveState(int message, Bundle data) {
666667
// Handling OpenVK API and UI messages
667668
try {
@@ -847,6 +848,7 @@ private void receiveState(int message, Bundle data) {
847848
} else {
848849
newsfeedFragment.newsfeedAdapter.setPhotoLoadState(true);
849850
}
851+
newsfeedFragment.refreshAdapter();
850852
} else if(selectedFragment == profileFragment) {
851853
if(profileFragment.getWallAdapter() == null) {
852854
profileFragment.createWallAdapter(this, wall.getWallItems());

app/src/main/java/uk/openvk/android/refresh/ui/core/fragments/app/NewsfeedFragment.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ public void createAdapter(Context ctx, ArrayList<WallPost> wallPosts) {
118118
newsfeedView.setLayoutManager(llm);
119119
newsfeedView.setAdapter(newsfeedAdapter);
120120
} else {
121-
newsfeedAdapter.setArray(wallPosts);
122121
newsfeedAdapter.notifyDataSetChanged();
123122
}
124123
((ProgressLayout) view.findViewById(R.id.progress_layout)).setVisibility(View.GONE);
@@ -170,7 +169,10 @@ public void setError(boolean visible, int message, View.OnClickListener listener
170169

171170
@SuppressLint("NotifyDataSetChanged")
172171
public void refreshAdapter() {
173-
if(newsfeedAdapter != null) newsfeedAdapter.notifyDataSetChanged();
172+
if(newsfeedAdapter != null) {
173+
newsfeedAdapter.setArray(wallPosts);
174+
newsfeedAdapter.notifyDataSetChanged();
175+
}
174176
}
175177

176178
public void showProgress() {
@@ -183,7 +185,7 @@ public void showProgress() {
183185
public void select(int position, String item, int value) {
184186
if(item.equals("likes")) {
185187
wallPosts.get(position).counters.isLiked = value == 1;
186-
newsfeedAdapter.notifyDataSetChanged();
188+
newsfeedAdapter.notifyItemChanged(position, false);
187189
}
188190
}
189191

@@ -195,7 +197,7 @@ public void select(int position, String item, String value) {
195197
} else {
196198
wallPosts.get(position).counters.isLiked = false;
197199
}
198-
newsfeedAdapter.notifyDataSetChanged();
200+
newsfeedAdapter.notifyItemChanged(position, false);
199201
}
200202
}
201203

@@ -207,8 +209,8 @@ public void setScrollingPositions(final Context ctx, final boolean infinity_scro
207209
if (!loading_more_posts) {
208210
if (diff == 0) {
209211
if (ctx.getClass().getSimpleName().equals("AppActivity")) {
210-
loading_more_posts = true;
211212
((AppActivity) ctx).loadMoreNews();
213+
loading_more_posts = true;
212214
}
213215
}
214216
}

0 commit comments

Comments
 (0)