mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-31 11:56:10 +00:00
feat: introduce the handling of poll messages for closed group poller
This commit is contained in:
@@ -906,8 +906,8 @@ open class Storage(context: Context, helper: SQLCipherOpenHelper, private val co
|
||||
val group = userGroups.createGroup()
|
||||
val adminKey = group.adminKey
|
||||
userGroups.set(group)
|
||||
val groupInfo = configFactory.getOrConstructGroupInfoConfig(group.groupSessionId) ?: return Optional.absent()
|
||||
val groupMembers = configFactory.getOrConstructGroupMemberConfig(group.groupSessionId) ?: return Optional.absent()
|
||||
val groupInfo = configFactory.getGroupInfoConfig(group.groupSessionId) ?: return Optional.absent()
|
||||
val groupMembers = configFactory.getGroupMemberConfig(group.groupSessionId) ?: return Optional.absent()
|
||||
|
||||
with (groupInfo) {
|
||||
setName(groupName)
|
||||
@@ -921,7 +921,7 @@ open class Storage(context: Context, helper: SQLCipherOpenHelper, private val co
|
||||
val groupKeys = GroupKeysConfig.newInstance(
|
||||
userKp.secretKey.asBytes,
|
||||
Hex.fromStringCondensed(group.groupSessionId.publicKey),
|
||||
group.adminKey,
|
||||
adminKey,
|
||||
info = groupInfo,
|
||||
members = groupMembers
|
||||
)
|
||||
@@ -930,7 +930,6 @@ open class Storage(context: Context, helper: SQLCipherOpenHelper, private val co
|
||||
val configTtl = 1 * 24 * 60 * 60 * 1000L // TODO: just testing here, 1 day so we don't fill large space on network
|
||||
// Test the sending
|
||||
val keyPush = groupKeys.pendingConfig() ?: return Optional.absent()
|
||||
val pendingKey = groupKeys.pendingKey() ?: return Optional.absent()
|
||||
|
||||
val keysSnodeMessage = SnodeMessage(
|
||||
newGroupRecipient,
|
||||
@@ -1180,7 +1179,7 @@ open class Storage(context: Context, helper: SQLCipherOpenHelper, private val co
|
||||
}
|
||||
|
||||
override fun getMembers(groupPublicKey: String): List<LibSessionGroupMember> =
|
||||
configFactory.getOrConstructGroupMemberConfig(SessionId.from(groupPublicKey))?.all()?.toList() ?: emptyList()
|
||||
configFactory.getGroupMemberConfig(SessionId.from(groupPublicKey))?.all()?.toList() ?: emptyList()
|
||||
|
||||
override fun setServerCapabilities(server: String, capabilities: List<String>) {
|
||||
return DatabaseComponent.get(context).lokiAPIDatabase().setServerCapabilities(server, capabilities)
|
||||
|
||||
@@ -176,7 +176,7 @@ class ConfigFactory(
|
||||
it.adminKey to it.authData
|
||||
}
|
||||
|
||||
override fun getOrConstructGroupInfoConfig(groupSessionId: SessionId): GroupInfoConfig? = getGroupAuthInfo(groupSessionId)?.let { (sk, _) ->
|
||||
override fun getGroupInfoConfig(groupSessionId: SessionId): GroupInfoConfig? = getGroupAuthInfo(groupSessionId)?.let { (sk, _) ->
|
||||
// get any potential initial dumps
|
||||
val dump = configDatabase.retrieveConfigAndHashes(
|
||||
SharedConfigMessage.Kind.CLOSED_GROUP_INFO.name,
|
||||
@@ -191,10 +191,10 @@ class ConfigFactory(
|
||||
val (userSk, _) = maybeGetUserInfo() ?: return@let null
|
||||
|
||||
// Get the group info or return early
|
||||
val info = getOrConstructGroupInfoConfig(groupSessionId) ?: return@let null
|
||||
val info = getGroupInfoConfig(groupSessionId) ?: return@let null
|
||||
|
||||
// Get the group members or return early
|
||||
val members = getOrConstructGroupMemberConfig(groupSessionId) ?: return@let null
|
||||
val members = getGroupMemberConfig(groupSessionId) ?: return@let null
|
||||
|
||||
// Get the dump or empty
|
||||
val dump = configDatabase.retrieveConfigAndHashes(
|
||||
@@ -213,7 +213,7 @@ class ConfigFactory(
|
||||
)
|
||||
}
|
||||
|
||||
override fun getOrConstructGroupMemberConfig(groupSessionId: SessionId): GroupMembersConfig? = getGroupAuthInfo(groupSessionId)?.let { (sk, auth) ->
|
||||
override fun getGroupMemberConfig(groupSessionId: SessionId): GroupMembersConfig? = getGroupAuthInfo(groupSessionId)?.let { (sk, auth) ->
|
||||
// Get initial dump if we have one
|
||||
val dump = configDatabase.retrieveConfigAndHashes(
|
||||
SharedConfigMessage.Kind.CLOSED_GROUP_MEMBERS.name,
|
||||
|
||||
Reference in New Issue
Block a user