Fix PR comments
This commit is contained in:
parent
122d5e4239
commit
a78f3430e2
3 changed files with 24 additions and 20 deletions
|
|
@ -150,7 +150,7 @@ fun RoomDetailsView(
|
||||||
|
|
||||||
if (state.canShowNotificationSettings && state.roomNotificationSettings != null) {
|
if (state.canShowNotificationSettings && state.roomNotificationSettings != null) {
|
||||||
NotificationSection(
|
NotificationSection(
|
||||||
state = state,
|
isDefaultMode = state.roomNotificationSettings.isDefault,
|
||||||
openRoomNotificationSettings = openRoomNotificationSettings)
|
openRoomNotificationSettings = openRoomNotificationSettings)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -304,9 +304,12 @@ internal fun TopicSection(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun NotificationSection(state: RoomDetailsState, openRoomNotificationSettings: () -> Unit, modifier: Modifier = Modifier) {
|
internal fun NotificationSection(
|
||||||
state.roomNotificationSettings?.let {
|
isDefaultMode: Boolean,
|
||||||
val subtitle = if (it.isDefault) {
|
openRoomNotificationSettings: () -> Unit,
|
||||||
|
modifier: Modifier = Modifier
|
||||||
|
) {
|
||||||
|
val subtitle = if (isDefaultMode) {
|
||||||
stringResource(R.string.screen_room_details_notification_mode_default)
|
stringResource(R.string.screen_room_details_notification_mode_default)
|
||||||
} else {
|
} else {
|
||||||
stringResource(R.string.screen_room_details_notification_mode_custom)
|
stringResource(R.string.screen_room_details_notification_mode_custom)
|
||||||
|
|
@ -320,7 +323,6 @@ internal fun NotificationSection(state: RoomDetailsState, openRoomNotificationSe
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun MembersSection(
|
internal fun MembersSection(
|
||||||
|
|
|
||||||
|
|
@ -282,6 +282,8 @@ class RustMatrixClient constructor(
|
||||||
override fun close() {
|
override fun close() {
|
||||||
sessionCoroutineScope.cancel()
|
sessionCoroutineScope.cancel()
|
||||||
client.setDelegate(null)
|
client.setDelegate(null)
|
||||||
|
notificationSettings.setDelegate(null)
|
||||||
|
notificationSettings.destroy()
|
||||||
verificationService.destroy()
|
verificationService.destroy()
|
||||||
syncService.destroy()
|
syncService.destroy()
|
||||||
innerRoomListService.destroy()
|
innerRoomListService.destroy()
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,6 @@ import kotlinx.coroutines.flow.MutableSharedFlow
|
||||||
import kotlinx.coroutines.flow.SharedFlow
|
import kotlinx.coroutines.flow.SharedFlow
|
||||||
import kotlinx.coroutines.flow.asSharedFlow
|
import kotlinx.coroutines.flow.asSharedFlow
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.matrix.rustcomponents.sdk.Client
|
|
||||||
import org.matrix.rustcomponents.sdk.NotificationClient
|
|
||||||
import org.matrix.rustcomponents.sdk.NotificationSettings
|
import org.matrix.rustcomponents.sdk.NotificationSettings
|
||||||
import org.matrix.rustcomponents.sdk.NotificationSettingsDelegate
|
import org.matrix.rustcomponents.sdk.NotificationSettingsDelegate
|
||||||
|
|
||||||
|
|
@ -65,17 +63,19 @@ class RustNotificationSettingsService(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun restoreDefaultRoomNotificationMode(roomId: RoomId): Result<Unit> =
|
override suspend fun restoreDefaultRoomNotificationMode(roomId: RoomId): Result<Unit> = withContext(dispatchers.io) {
|
||||||
runCatching {
|
runCatching {
|
||||||
notificationSettings.restoreDefaultRoomNotificationMode(roomId.value)
|
notificationSettings.restoreDefaultRoomNotificationMode(roomId.value)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override suspend fun muteRoom(roomId: RoomId): Result<Unit> = setRoomNotificationMode(roomId, RoomNotificationMode.MUTE)
|
override suspend fun muteRoom(roomId: RoomId): Result<Unit> = setRoomNotificationMode(roomId, RoomNotificationMode.MUTE)
|
||||||
|
|
||||||
override suspend fun unmuteRoom(roomId: RoomId, isEncrypted: Boolean, membersCount: Long) =
|
override suspend fun unmuteRoom(roomId: RoomId, isEncrypted: Boolean, membersCount: Long) = withContext(dispatchers.io) {
|
||||||
runCatching {
|
runCatching {
|
||||||
notificationSettings.unmuteRoom(roomId.value, isEncrypted, isOneToOne(membersCount))
|
notificationSettings.unmuteRoom(roomId.value, isEncrypted, isOneToOne(membersCount))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A one-to-one is a room with exactly 2 members.
|
* A one-to-one is a room with exactly 2 members.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue