Do not collapse list to hide only one entry.
parent
e153b0ab78
commit
4271700046
|
@ -48,7 +48,8 @@ import java.util.List;
|
||||||
|
|
||||||
public class ManageGroupViewModel extends ViewModel {
|
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 Context context;
|
||||||
private final ManageGroupRepository manageGroupRepository;
|
private final ManageGroupRepository manageGroupRepository;
|
||||||
|
@ -89,7 +90,7 @@ public class ManageGroupViewModel extends ViewModel {
|
||||||
: title);
|
: title);
|
||||||
this.isAdmin = liveGroup.isSelfAdmin();
|
this.isAdmin = liveGroup.isSelfAdmin();
|
||||||
this.canCollapseMemberList = LiveDataUtil.combineLatest(memberListCollapseState,
|
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);
|
(state, hasEnoughMembers) -> state != CollapseState.OPEN && hasEnoughMembers);
|
||||||
this.members = LiveDataUtil.combineLatest(liveGroup.getFullMembers(),
|
this.members = LiveDataUtil.combineLatest(liveGroup.getFullMembers(),
|
||||||
memberListCollapseState,
|
memberListCollapseState,
|
||||||
|
@ -262,8 +263,8 @@ public class ManageGroupViewModel extends ViewModel {
|
||||||
private static @NonNull List<GroupMemberEntry.FullMember> filterMemberList(@NonNull List<GroupMemberEntry.FullMember> members,
|
private static @NonNull List<GroupMemberEntry.FullMember> filterMemberList(@NonNull List<GroupMemberEntry.FullMember> members,
|
||||||
@NonNull CollapseState collapseState)
|
@NonNull CollapseState collapseState)
|
||||||
{
|
{
|
||||||
if (collapseState == CollapseState.COLLAPSED && members.size() > MAX_COLLAPSED_MEMBERS) {
|
if (collapseState == CollapseState.COLLAPSED && members.size() > MAX_UNCOLLAPSED_MEMBERS) {
|
||||||
return members.subList(0, MAX_COLLAPSED_MEMBERS);
|
return members.subList(0, SHOW_COLLAPSED_MEMBERS);
|
||||||
} else {
|
} else {
|
||||||
return members;
|
return members;
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ import java.util.UUID;
|
||||||
|
|
||||||
public final class ManageRecipientViewModel extends ViewModel {
|
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 Context context;
|
||||||
private final ManageRecipientRepository manageRecipientRepository;
|
private final ManageRecipientRepository manageRecipientRepository;
|
||||||
|
@ -91,7 +92,7 @@ public final class ManageRecipientViewModel extends ViewModel {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.canCollapseMemberList = LiveDataUtil.combineLatest(this.groupListCollapseState,
|
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);
|
(state, hasEnoughMembers) -> state != CollapseState.OPEN && hasEnoughMembers);
|
||||||
this.visibleSharedGroups = Transformations.map(LiveDataUtil.combineLatest(allSharedGroups,
|
this.visibleSharedGroups = Transformations.map(LiveDataUtil.combineLatest(allSharedGroups,
|
||||||
this.groupListCollapseState,
|
this.groupListCollapseState,
|
||||||
|
@ -210,8 +211,8 @@ public final class ManageRecipientViewModel extends ViewModel {
|
||||||
private static @NonNull List<Recipient> filterSharedGroupList(@NonNull List<Recipient> groups,
|
private static @NonNull List<Recipient> filterSharedGroupList(@NonNull List<Recipient> groups,
|
||||||
@NonNull CollapseState collapseState)
|
@NonNull CollapseState collapseState)
|
||||||
{
|
{
|
||||||
if (collapseState == CollapseState.COLLAPSED && groups.size() > MAX_COLLAPSED_GROUPS) {
|
if (collapseState == CollapseState.COLLAPSED && groups.size() > MAX_UNCOLLAPSED_GROUPS) {
|
||||||
return groups.subList(0, MAX_COLLAPSED_GROUPS);
|
return groups.subList(0, SHOW_COLLAPSED_GROUPS);
|
||||||
} else {
|
} else {
|
||||||
return groups;
|
return groups;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue