Fixed ephemeral message not removed from list that happens sometimes
This commit is contained in:
parent
f7d6ebae12
commit
3f65e2dc8c
3 changed files with 11 additions and 3 deletions
|
@ -346,11 +346,13 @@ public class ChatMessagesAdapter extends SelectableAdapter<ChatMessageViewHolder
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeFromHistory(EventLog eventLog) {
|
public boolean removeFromHistory(EventLog eventLog) {
|
||||||
int index = mHistory.indexOf(eventLog);
|
int index = mHistory.indexOf(eventLog);
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
removeItem(index);
|
removeItem(index);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void changeBackgroundDependingOnPreviousAndNextEvents(
|
private void changeBackgroundDependingOnPreviousAndNextEvents(
|
||||||
|
|
|
@ -1395,7 +1395,13 @@ public class ChatMessagesFragment extends Fragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEphemeralMessageDeleted(ChatRoom chatRoom, EventLog eventLog) {
|
public void onEphemeralMessageDeleted(ChatRoom chatRoom, EventLog eventLog) {
|
||||||
((ChatMessagesGenericAdapter) mChatEventsList.getAdapter()).removeFromHistory(eventLog);
|
Log.i("[Chat Room] Ephemeral message expired");
|
||||||
|
if (!((ChatMessagesGenericAdapter) mChatEventsList.getAdapter())
|
||||||
|
.removeFromHistory(eventLog)) {
|
||||||
|
Log.w("[Chat Room] Ephemeral message not found, refresh list");
|
||||||
|
((ChatMessagesGenericAdapter) mChatEventsList.getAdapter())
|
||||||
|
.refresh(mChatRoom.getHistoryEvents(MESSAGES_PER_PAGE));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -38,5 +38,5 @@ interface ChatMessagesGenericAdapter {
|
||||||
|
|
||||||
void removeItem(int i);
|
void removeItem(int i);
|
||||||
|
|
||||||
void removeFromHistory(EventLog eventLog);
|
boolean removeFromHistory(EventLog eventLog);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue