@@ -250,6 +250,19 @@ public void onReadyToDisplay(boolean registered) {
250
250
251
251
private void fetch () {
252
252
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
+ });
253
266
oldMessagesReq .execute (app .getPointer (), LoadPosition .INITIAL , 100 ,
254
267
100 , filter );
255
268
}
@@ -374,7 +387,7 @@ public void onMessages(Message[] messages, LoadPosition pos,
374
387
}
375
388
} else if (pos == LoadPosition .BELOW ) {
376
389
adapter .setFooterShowing (moreBelow );
377
-
390
+ loadingMessages = moreBelow ;
378
391
if (noFurtherMessages || listHasMostRecent ()) {
379
392
loadedToBottom = true ;
380
393
}
@@ -389,7 +402,7 @@ public void onMessages(Message[] messages, LoadPosition pos,
389
402
}
390
403
}
391
404
392
- loadingMessages = moreAbove || moreBelow ;
405
+ loadingMessages = false ;
393
406
}
394
407
395
408
public void onMessageError (LoadPosition pos ) {
@@ -398,7 +411,7 @@ public void onMessageError(LoadPosition pos) {
398
411
// successful
399
412
}
400
413
401
- public void loadMoreMessages (LoadPosition pos ) {
414
+ public void loadMoreMessages (final LoadPosition pos ) {
402
415
int above = 0 ;
403
416
int below = 0 ;
404
417
int around ;
@@ -411,6 +424,7 @@ public void loadMoreMessages(LoadPosition pos) {
411
424
below = 100 ;
412
425
around = lastMessageId ;
413
426
adapter .setFooterShowing (true );
427
+ loadingMessages = true ;
414
428
} else {
415
429
Log .e ("loadMoreMessages" , "Invalid position" );
416
430
return ;
@@ -428,11 +442,23 @@ public void loadMoreMessages(LoadPosition pos) {
428
442
@ Override
429
443
public void onTaskComplete (String result , JSONObject jsonObject ) {
430
444
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 ;
431
451
}
432
452
433
453
@ Override
434
454
public void onTaskFailure (String result ) {
435
455
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 ;
436
462
}
437
463
});
438
464
}
0 commit comments