Use mark_kicked when kicked (#857)

pull/1710/head
SessionHero01 4 months ago committed by GitHub
parent 26b58e32a4
commit 72771142ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -787,7 +787,8 @@ class GroupManagerV2Impl @Inject constructor(
invited = !shouldAutoApprove,
name = groupName,
destroyed = false,
joinedAtSecs = 0L
joinedAtSecs = 0L,
kicked = false,
)
configFactory.withMutableUserConfigs {
@ -869,8 +870,7 @@ class GroupManagerV2Impl @Inject constructor(
configFactory.withMutableUserConfigs {
it.userGroups.set(
group.copy(
authData = null,
adminKey = null,
kicked = true,
name = groupName
)
)

@ -133,9 +133,10 @@ inline jobject serialize_closed_group_info(JNIEnv* env, session::config::group_i
jstring name = util::jstringFromOptional(env, info.name);
jclass group_info_class = env->FindClass("network/loki/messenger/libsession_util/util/GroupInfo$ClosedGroupInfo");
jmethodID constructor = env->GetMethodID(group_info_class, "<init>","(Lorg/session/libsignal/utilities/AccountId;[B[BJZLjava/lang/String;ZJ)V");
jmethodID constructor = env->GetMethodID(group_info_class, "<init>","(Lorg/session/libsignal/utilities/AccountId;[B[BJZLjava/lang/String;ZZJ)V");
jobject return_object = env->NewObject(group_info_class,constructor,
session_id, admin_bytes, auth_bytes, (jlong)info.priority, info.invited, name, info.is_destroyed(), info.joined_at);
session_id, admin_bytes, auth_bytes, (jlong)info.priority, info.invited, name,
info.kicked(), info.is_destroyed(), info.joined_at);
return return_object;
}
@ -148,6 +149,7 @@ inline session::config::group_info deserialize_closed_group_info(JNIEnv* env, jo
jfieldID invited_field = env->GetFieldID(closed_group_class, "invited", "Z");
jfieldID name_field = env->GetFieldID(closed_group_class, "name", "Ljava/lang/String;");
jfieldID destroy_field = env->GetFieldID(closed_group_class, "destroyed", "Z");
jfieldID kicked_field = env->GetFieldID(closed_group_class, "kicked", "Z");
jfieldID joined_at_field = env->GetFieldID(closed_group_class, "joinedAtSecs", "J");
@ -168,6 +170,11 @@ inline session::config::group_info deserialize_closed_group_info(JNIEnv* env, jo
group_info.invited = env->GetBooleanField(info_serialized, invited_field);
group_info.name = name;
group_info.joined_at = env->GetLongField(info_serialized, joined_at_field);
if (env->GetBooleanField(info_serialized, kicked_field)) {
group_info.mark_kicked();
}
if (env->GetBooleanField(info_serialized, destroy_field)) {
group_info.mark_destroyed();
}

@ -13,6 +13,7 @@ sealed class GroupInfo {
val priority: Long,
val invited: Boolean,
val name: String,
val kicked: Boolean,
val destroyed: Boolean,
val joinedAtSecs: Long
): GroupInfo() {
@ -27,11 +28,6 @@ sealed class GroupInfo {
}
}
val kicked: Boolean
get() = adminKey == null && authData == null
fun hasAdminKey() = adminKey != null
}

Loading…
Cancel
Save