Fix crash for leave gv1.

This commit is contained in:
Sagar
2025-05-02 18:57:03 +05:30
committed by Cody Henthorne
parent 3c77a3d7aa
commit 51851fa5fe
5 changed files with 24 additions and 5 deletions

View File

@@ -171,14 +171,19 @@ class ConversationSettingsRepository(
}
}
fun block(recipientId: RecipientId) {
SignalExecutors.BOUNDED.execute {
@WorkerThread
fun block(recipientId: RecipientId): GroupChangeResult {
return try {
val recipient = Recipient.resolved(recipientId)
if (recipient.isGroup) {
RecipientUtil.block(context, recipient)
} else {
RecipientUtil.blockNonGroup(context, recipient)
}
GroupChangeResult.SUCCESS
} catch (e: Exception) {
Log.w(TAG, "Failed to block recipient.", e)
GroupChangeResult.failure(GroupChangeFailureReason.fromException(e))
}
}

View File

@@ -266,7 +266,15 @@ sealed class ConversationSettingsViewModel(
}
override fun block() {
repository.block(recipientId)
viewModelScope.launch {
val result = withContext(SignalDispatchers.IO) {
repository.block(recipientId)
}
if (!result.isSuccess) {
internalEvents.onNext(ConversationSettingsEvent.ShowBlockGroupError(result.getFailureReason()))
}
}
}
override fun unblock() {