From 4271700046d4ac2efc4a348fce5f8ff28b611d3d Mon Sep 17 00:00:00 2001 From: Christian Ascheberg Date: Wed, 29 Jul 2020 12:02:12 +0200 Subject: [PATCH] Do not collapse list to hide only one entry. --- .../groups/ui/managegroup/ManageGroupViewModel.java | 9 +++++---- .../ui/managerecipient/ManageRecipientViewModel.java | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupViewModel.java index 1c7610d73..6e805a235 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupViewModel.java @@ -48,7 +48,8 @@ import java.util.List; public class ManageGroupViewModel extends ViewModel { - private static final int MAX_COLLAPSED_MEMBERS = 5; + private static final int MAX_UNCOLLAPSED_MEMBERS = 6; + private static final int SHOW_COLLAPSED_MEMBERS = 5; private final Context context; private final ManageGroupRepository manageGroupRepository; @@ -89,7 +90,7 @@ public class ManageGroupViewModel extends ViewModel { : title); this.isAdmin = liveGroup.isSelfAdmin(); this.canCollapseMemberList = LiveDataUtil.combineLatest(memberListCollapseState, - Transformations.map(liveGroup.getFullMembers(), m -> m.size() > MAX_COLLAPSED_MEMBERS), + Transformations.map(liveGroup.getFullMembers(), m -> m.size() > MAX_UNCOLLAPSED_MEMBERS), (state, hasEnoughMembers) -> state != CollapseState.OPEN && hasEnoughMembers); this.members = LiveDataUtil.combineLatest(liveGroup.getFullMembers(), memberListCollapseState, @@ -262,8 +263,8 @@ public class ManageGroupViewModel extends ViewModel { private static @NonNull List filterMemberList(@NonNull List members, @NonNull CollapseState collapseState) { - if (collapseState == CollapseState.COLLAPSED && members.size() > MAX_COLLAPSED_MEMBERS) { - return members.subList(0, MAX_COLLAPSED_MEMBERS); + if (collapseState == CollapseState.COLLAPSED && members.size() > MAX_UNCOLLAPSED_MEMBERS) { + return members.subList(0, SHOW_COLLAPSED_MEMBERS); } else { return members; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientViewModel.java index 40ac82d6b..19c9cb2fb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientViewModel.java @@ -45,7 +45,8 @@ import java.util.UUID; public final class ManageRecipientViewModel extends ViewModel { - private static final int MAX_COLLAPSED_GROUPS = 5; + private static final int MAX_UNCOLLAPSED_GROUPS = 6; + private static final int SHOW_COLLAPSED_GROUPS = 5; private final Context context; private final ManageRecipientRepository manageRecipientRepository; @@ -91,7 +92,7 @@ public final class ManageRecipientViewModel extends ViewModel { }); this.canCollapseMemberList = LiveDataUtil.combineLatest(this.groupListCollapseState, - Transformations.map(allSharedGroups, m -> m.size() > MAX_COLLAPSED_GROUPS), + Transformations.map(allSharedGroups, m -> m.size() > MAX_UNCOLLAPSED_GROUPS), (state, hasEnoughMembers) -> state != CollapseState.OPEN && hasEnoughMembers); this.visibleSharedGroups = Transformations.map(LiveDataUtil.combineLatest(allSharedGroups, this.groupListCollapseState, @@ -210,8 +211,8 @@ public final class ManageRecipientViewModel extends ViewModel { private static @NonNull List filterSharedGroupList(@NonNull List groups, @NonNull CollapseState collapseState) { - if (collapseState == CollapseState.COLLAPSED && groups.size() > MAX_COLLAPSED_GROUPS) { - return groups.subList(0, MAX_COLLAPSED_GROUPS); + if (collapseState == CollapseState.COLLAPSED && groups.size() > MAX_UNCOLLAPSED_GROUPS) { + return groups.subList(0, SHOW_COLLAPSED_GROUPS); } else { return groups; }