Skip to content
This repository was archived by the owner on Jul 25, 2024. It is now read-only.

Commit 93d71d7

Browse files
committed
Hide/Show header/footer loading views
1 parent 822cd21 commit 93d71d7

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

app/src/main/java/com/zulip/android/activities/MessageListFragment.java

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,19 @@ public void onReadyToDisplay(boolean registered) {
250250

251251
private void fetch() {
252252
final AsyncGetOldMessages oldMessagesReq = new AsyncGetOldMessages(this);
253+
oldMessagesReq.setCallback(new ZulipAsyncPushTask.AsyncTaskCompleteListener() {
254+
@Override
255+
public void onTaskComplete(String result, JSONObject jsonObject) {
256+
loadingMessages = false;
257+
adapter.setHeaderShowing(false);
258+
}
259+
260+
@Override
261+
public void onTaskFailure(String result) {
262+
loadingMessages = false;
263+
adapter.setHeaderShowing(false);
264+
}
265+
});
253266
oldMessagesReq.execute(app.getPointer(), LoadPosition.INITIAL, 100,
254267
100, filter);
255268
}
@@ -374,7 +387,7 @@ public void onMessages(Message[] messages, LoadPosition pos,
374387
}
375388
} else if (pos == LoadPosition.BELOW) {
376389
adapter.setFooterShowing(moreBelow);
377-
390+
loadingMessages = moreBelow;
378391
if (noFurtherMessages || listHasMostRecent()) {
379392
loadedToBottom = true;
380393
}
@@ -389,7 +402,7 @@ public void onMessages(Message[] messages, LoadPosition pos,
389402
}
390403
}
391404

392-
loadingMessages = moreAbove || moreBelow;
405+
loadingMessages = false;
393406
}
394407

395408
public void onMessageError(LoadPosition pos) {
@@ -398,7 +411,7 @@ public void onMessageError(LoadPosition pos) {
398411
// successful
399412
}
400413

401-
public void loadMoreMessages(LoadPosition pos) {
414+
public void loadMoreMessages(final LoadPosition pos) {
402415
int above = 0;
403416
int below = 0;
404417
int around;
@@ -411,6 +424,7 @@ public void loadMoreMessages(LoadPosition pos) {
411424
below = 100;
412425
around = lastMessageId;
413426
adapter.setFooterShowing(true);
427+
loadingMessages = true;
414428
} else {
415429
Log.e("loadMoreMessages", "Invalid position");
416430
return;
@@ -428,11 +442,23 @@ public void loadMoreMessages(LoadPosition pos) {
428442
@Override
429443
public void onTaskComplete(String result, JSONObject jsonObject) {
430444
adapter.setFooterShowing(false);
445+
if (pos == LoadPosition.ABOVE) {
446+
adapter.setHeaderShowing(false);
447+
} else if (pos == LoadPosition.BELOW) {
448+
adapter.setFooterShowing(false);
449+
}
450+
loadingMessages = false;
431451
}
432452

433453
@Override
434454
public void onTaskFailure(String result) {
435455
Toast.makeText(getActivity(), R.string.no_message, Toast.LENGTH_SHORT).show();
456+
if (pos == LoadPosition.ABOVE) {
457+
adapter.setHeaderShowing(false);
458+
} else if (pos == LoadPosition.BELOW) {
459+
adapter.setFooterShowing(false);
460+
}
461+
loadingMessages = false;
436462
}
437463
});
438464
}

0 commit comments

Comments
 (0)