Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f45ca9b6 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed the historic messaging experience

The historic message groups are now also gone,
not just the messages

Change-Id: Ib7a454809425c18f5c2fd5905b3dae9ec5ec846f
Fixes: 	72556979
Test: visually, add historic messages, observe group is gone too
parent 150bafd2
Loading
Loading
Loading
Loading
+20 −1
Original line number Diff line number Diff line
@@ -436,10 +436,29 @@ public class MessagingLayout extends FrameLayout {
    }

    private void updateHistoricMessageVisibility() {
        for (int i = 0; i < mHistoricMessages.size(); i++) {
        int numHistoric = mHistoricMessages.size();
        for (int i = 0; i < numHistoric; i++) {
            MessagingMessage existing = mHistoricMessages.get(i);
            existing.setVisibility(mShowHistoricMessages ? VISIBLE : GONE);
        }
        int numGroups = mGroups.size();
        for (int i = 0; i < numGroups; i++) {
            MessagingGroup group = mGroups.get(i);
            int visibleChildren = 0;
            List<MessagingMessage> messages = group.getMessages();
            int numGroupMessages = messages.size();
            for (int j = 0; j < numGroupMessages; j++) {
                MessagingMessage message = messages.get(j);
                if (message.getVisibility() != GONE) {
                    visibleChildren++;
                }
            }
            if (visibleChildren > 0 && group.getVisibility() == GONE) {
                group.setVisibility(VISIBLE);
            } else if (visibleChildren == 0 && group.getVisibility() != GONE)   {
                group.setVisibility(GONE);
            }
        }
    }

    @Override
+2 −0
Original line number Diff line number Diff line
@@ -141,4 +141,6 @@ public interface MessagingMessage extends MessagingLinearLayout.MessagingChild {
    MessagingMessageState getState();

    void setVisibility(int visibility);

    int getVisibility();
}