mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 02:10:44 +01:00
Fix crash for leave gv1.
This commit is contained in:
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user