13
13
import com .zulip .android .R ;
14
14
import com .zulip .android .ZulipApp ;
15
15
import com .zulip .android .activities .LoginActivity ;
16
+ import com .zulip .android .activities .RecyclerMessageAdapter ;
16
17
import com .zulip .android .activities .ZulipActivity ;
17
18
import com .zulip .android .models .Message ;
18
19
import com .zulip .android .models .MessageRange ;
36
37
import java .io .IOException ;
37
38
import java .net .SocketTimeoutException ;
38
39
import java .sql .SQLException ;
40
+ import java .util .ArrayList ;
39
41
import java .util .List ;
40
42
import java .util .concurrent .Callable ;
41
43
@@ -482,6 +484,7 @@ private void processMessageEditParam(List<EventsBranch> messageEditLimitEvents)
482
484
* @param updateEvents list of events {@link EventsBranch.BranchType#UPDATE_MESSAGE}
483
485
*/
484
486
private void processUpdateMessages (List <EventsBranch > updateEvents ) {
487
+ final List <Integer > messageIds = new ArrayList <>();
485
488
for (EventsBranch event : updateEvents ) {
486
489
UpdateMessageWrapper updateEvent = (UpdateMessageWrapper ) event ;
487
490
Message message = updateEvent .getMessage ();
@@ -492,6 +495,7 @@ private void processUpdateMessages(List<EventsBranch> updateEvents) {
492
495
Dao <Message , Integer > messageDao = app .getDao (Message .class );
493
496
try {
494
497
messageDao .update (message );
498
+ messageIds .add (message .getId ());
495
499
} catch (SQLException e ) {
496
500
ZLog .logException (e );
497
501
}
@@ -501,8 +505,11 @@ private void processUpdateMessages(List<EventsBranch> updateEvents) {
501
505
mActivity .runOnUiThread (new Runnable () {
502
506
@ Override
503
507
public void run () {
504
- // notify adapter dataset changed
505
- mActivity .getCurrentMessageList ().getAdapter ().notifyDataSetChanged ();
508
+ RecyclerMessageAdapter adapter = mActivity .getCurrentMessageList ().getAdapter ();
509
+ for (int id : messageIds ) {
510
+ // notify adapter data item changed
511
+ adapter .notifyItemChanged (adapter .getItemIndex (id ));
512
+ }
506
513
}
507
514
});
508
515
}
0 commit comments