mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 02:10:44 +01:00
Fix pending member group edit rights.
This commit is contained in:
committed by
Greyson Parrelli
parent
845f6a0a93
commit
b0650b926b
@@ -145,28 +145,15 @@ public final class LiveGroup {
|
||||
fullMemberCount);
|
||||
}
|
||||
|
||||
private LiveData<MemberLevel> selfMemberLevel() {
|
||||
return Transformations.map(groupRecord, g -> {
|
||||
if (g.isAdmin(Recipient.self())) {
|
||||
return MemberLevel.ADMIN;
|
||||
} else {
|
||||
return g.isActive() ? MemberLevel.MEMBER
|
||||
: MemberLevel.NOT_A_MEMBER;
|
||||
}
|
||||
});
|
||||
private LiveData<GroupDatabase.MemberLevel> selfMemberLevel() {
|
||||
return Transformations.map(groupRecord, g -> g.memberLevel(Recipient.self()));
|
||||
}
|
||||
|
||||
private static boolean applyAccessControl(@NonNull MemberLevel memberLevel, @NonNull GroupAccessControl rights) {
|
||||
private static boolean applyAccessControl(@NonNull GroupDatabase.MemberLevel memberLevel, @NonNull GroupAccessControl rights) {
|
||||
switch (rights) {
|
||||
case ALL_MEMBERS: return memberLevel != MemberLevel.NOT_A_MEMBER;
|
||||
case ONLY_ADMINS: return memberLevel == MemberLevel.ADMIN;
|
||||
case ALL_MEMBERS: return memberLevel.isInGroup();
|
||||
case ONLY_ADMINS: return memberLevel == GroupDatabase.MemberLevel.ADMINISTRATOR;
|
||||
default: throw new AssertionError();
|
||||
}
|
||||
}
|
||||
|
||||
private enum MemberLevel {
|
||||
NOT_A_MEMBER,
|
||||
MEMBER,
|
||||
ADMIN
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user