Rename hideContent to hideMediaContent

This commit is contained in:
Benoit Marty 2024-10-04 13:57:59 +02:00 committed by Benoit Marty
parent 76eb4b73f3
commit a73c8b1e25
14 changed files with 42 additions and 42 deletions

View file

@ -402,7 +402,7 @@ class MessagesPresenter @AssistedInject constructor(
val replyToDetails = loadReplyDetails(targetEvent.eventId).map(permalinkParser) val replyToDetails = loadReplyDetails(targetEvent.eventId).map(permalinkParser)
val composerMode = MessageComposerMode.Reply( val composerMode = MessageComposerMode.Reply(
replyToDetails = replyToDetails, replyToDetails = replyToDetails,
hideImage = timelineProtectionState.hideContent(targetEvent.eventId), hideImage = timelineProtectionState.hideMediaContent(targetEvent.eventId),
) )
composerState.eventSink( composerState.eventSink(
MessageComposerEvents.SetMode(composerMode) MessageComposerEvents.SetMode(composerMode)

View file

@ -256,7 +256,7 @@ private fun TimelineItemEventContentViewWrapper(
} else { } else {
TimelineItemEventContentView( TimelineItemEventContentView(
content = event.content, content = event.content,
hideContent = timelineProtectionState.hideContent(event.eventId), hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId),
onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) },
onLinkClick = onLinkClick, onLinkClick = onLinkClick,
eventSink = { }, eventSink = { },

View file

@ -129,7 +129,7 @@ fun TimelineItemEventRow(
eventContentView: @Composable (Modifier, (ContentAvoidingLayoutData) -> Unit) -> Unit = { contentModifier, onContentLayoutChange -> eventContentView: @Composable (Modifier, (ContentAvoidingLayoutData) -> Unit) -> Unit = { contentModifier, onContentLayoutChange ->
TimelineItemEventContentView( TimelineItemEventContentView(
content = event.content, content = event.content,
hideContent = timelineProtectionState.hideContent(event.eventId), hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId),
onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) },
onLinkClick = onLinkClick, onLinkClick = onLinkClick,
eventSink = eventSink, eventSink = eventSink,
@ -572,7 +572,7 @@ private fun MessageEventBubbleContent(
.clickable(onClick = inReplyToClick) .clickable(onClick = inReplyToClick)
InReplyToView( InReplyToView(
inReplyTo = inReplyTo, inReplyTo = inReplyTo,
hideImage = timelineProtectionState.hideContent(inReplyTo.eventId()), hideImage = timelineProtectionState.hideMediaContent(inReplyTo.eventId()),
modifier = inReplyToModifier, modifier = inReplyToModifier,
) )
} }

View file

@ -56,7 +56,7 @@ fun TimelineItemGroupedEventsRow(
{ event, contentModifier, onContentLayoutChange -> { event, contentModifier, onContentLayoutChange ->
TimelineItemEventContentView( TimelineItemEventContentView(
content = event.content, content = event.content,
hideContent = timelineProtectionState.hideContent(event.eventId), hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId),
onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) },
onLinkClick = onLinkClick, onLinkClick = onLinkClick,
eventSink = eventSink, eventSink = eventSink,
@ -120,7 +120,7 @@ private fun TimelineItemGroupedEventsRowContent(
{ event, contentModifier, onContentLayoutChange -> { event, contentModifier, onContentLayoutChange ->
TimelineItemEventContentView( TimelineItemEventContentView(
content = event.content, content = event.content,
hideContent = timelineProtectionState.hideContent(event.eventId), hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId),
onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) },
onLinkClick = onLinkClick, onLinkClick = onLinkClick,
eventSink = eventSink, eventSink = eventSink,

View file

@ -59,7 +59,7 @@ internal fun TimelineItemRow(
{ event, contentModifier, onContentLayoutChange -> { event, contentModifier, onContentLayoutChange ->
TimelineItemEventContentView( TimelineItemEventContentView(
content = event.content, content = event.content,
hideContent = timelineProtectionState.hideContent(event.eventId), hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId),
onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) },
onLinkClick = onLinkClick, onLinkClick = onLinkClick,
eventSink = eventSink, eventSink = eventSink,
@ -118,7 +118,7 @@ internal fun TimelineItemRow(
timelineProtectionState = timelineProtectionState, timelineProtectionState = timelineProtectionState,
isLastOutgoingMessage = isLastOutgoingMessage, isLastOutgoingMessage = isLastOutgoingMessage,
isHighlighted = timelineItem.isEvent(focusedEventId), isHighlighted = timelineItem.isEvent(focusedEventId),
onClick = if (timelineProtectionState.hideContent(timelineItem.eventId) && timelineItem.mustBeProtected()) { onClick = if (timelineProtectionState.hideMediaContent(timelineItem.eventId) && timelineItem.mustBeProtected()) {
{} {}
} else { } else {
{ onClick(timelineItem) } { onClick(timelineItem) }

View file

@ -71,7 +71,7 @@ fun TimelineItemStateEventRow(
TimelineItemEventContentView( TimelineItemEventContentView(
content = event.content, content = event.content,
onLinkClick = {}, onLinkClick = {},
hideContent = false, hideMediaContent = false,
onShowClick = {}, onShowClick = {},
eventSink = eventSink, eventSink = eventSink,
modifier = Modifier.defaultTimelineContentPadding() modifier = Modifier.defaultTimelineContentPadding()

View file

@ -35,7 +35,7 @@ import io.element.android.libraries.architecture.Presenter
@Composable @Composable
fun TimelineItemEventContentView( fun TimelineItemEventContentView(
content: TimelineItemEventContent, content: TimelineItemEventContent,
hideContent: Boolean, hideMediaContent: Boolean,
onShowClick: () -> Unit, onShowClick: () -> Unit,
onLinkClick: (url: String) -> Unit, onLinkClick: (url: String) -> Unit,
eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit,
@ -71,20 +71,20 @@ fun TimelineItemEventContentView(
) )
is TimelineItemImageContent -> TimelineItemImageView( is TimelineItemImageContent -> TimelineItemImageView(
content = content, content = content,
hideContent = hideContent, hideMediaContent = hideMediaContent,
onShowClick = onShowClick, onShowClick = onShowClick,
onContentLayoutChange = onContentLayoutChange, onContentLayoutChange = onContentLayoutChange,
modifier = modifier, modifier = modifier,
) )
is TimelineItemStickerContent -> TimelineItemStickerView( is TimelineItemStickerContent -> TimelineItemStickerView(
content = content, content = content,
hideContent = hideContent, hideMediaContent = hideMediaContent,
onShowClick = onShowClick, onShowClick = onShowClick,
modifier = modifier, modifier = modifier,
) )
is TimelineItemVideoContent -> TimelineItemVideoView( is TimelineItemVideoContent -> TimelineItemVideoView(
content = content, content = content,
hideContent = hideContent, hideMediaContent = hideMediaContent,
onShowClick = onShowClick, onShowClick = onShowClick,
onContentLayoutChange = onContentLayoutChange, onContentLayoutChange = onContentLayoutChange,
modifier = modifier modifier = modifier

View file

@ -59,7 +59,7 @@ import io.element.android.wysiwyg.compose.EditorStyledText
@Composable @Composable
fun TimelineItemImageView( fun TimelineItemImageView(
content: TimelineItemImageContent, content: TimelineItemImageContent,
hideContent: Boolean, hideMediaContent: Boolean,
onShowClick: () -> Unit, onShowClick: () -> Unit,
onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
@ -80,7 +80,7 @@ fun TimelineItemImageView(
aspectRatio = content.aspectRatio, aspectRatio = content.aspectRatio,
) { ) {
ProtectedView( ProtectedView(
hideContent = hideContent, hideContent = hideMediaContent,
onShowClick = onShowClick, onShowClick = onShowClick,
) { ) {
var isLoaded by remember { mutableStateOf(false) } var isLoaded by remember { mutableStateOf(false) }
@ -133,7 +133,7 @@ fun TimelineItemImageView(
internal fun TimelineItemImageViewPreview(@PreviewParameter(TimelineItemImageContentProvider::class) content: TimelineItemImageContent) = ElementPreview { internal fun TimelineItemImageViewPreview(@PreviewParameter(TimelineItemImageContentProvider::class) content: TimelineItemImageContent) = ElementPreview {
TimelineItemImageView( TimelineItemImageView(
content = content, content = content,
hideContent = false, hideMediaContent = false,
onShowClick = {}, onShowClick = {},
onContentLayoutChange = {}, onContentLayoutChange = {},
) )
@ -141,10 +141,10 @@ internal fun TimelineItemImageViewPreview(@PreviewParameter(TimelineItemImageCon
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun TimelineItemImageViewHideContentPreview() = ElementPreview { internal fun TimelineItemImageViewHideMediaContentPreview() = ElementPreview {
TimelineItemImageView( TimelineItemImageView(
content = aTimelineItemImageContent(), content = aTimelineItemImageContent(),
hideContent = true, hideMediaContent = true,
onShowClick = {}, onShowClick = {},
onContentLayoutChange = {}, onContentLayoutChange = {},
) )

View file

@ -39,7 +39,7 @@ private const val STICKER_SIZE_IN_DP = 128
@Composable @Composable
fun TimelineItemStickerView( fun TimelineItemStickerView(
content: TimelineItemStickerContent, content: TimelineItemStickerContent,
hideContent: Boolean, hideMediaContent: Boolean,
onShowClick: () -> Unit, onShowClick: () -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
@ -54,7 +54,7 @@ fun TimelineItemStickerView(
maxHeight = STICKER_SIZE_IN_DP, maxHeight = STICKER_SIZE_IN_DP,
) { ) {
ProtectedView( ProtectedView(
hideContent = hideContent, hideContent = hideMediaContent,
onShowClick = onShowClick, onShowClick = onShowClick,
) { ) {
var isLoaded by remember { mutableStateOf(false) } var isLoaded by remember { mutableStateOf(false) }
@ -84,7 +84,7 @@ fun TimelineItemStickerView(
internal fun TimelineItemStickerViewPreview(@PreviewParameter(TimelineItemStickerContentProvider::class) content: TimelineItemStickerContent) = ElementPreview { internal fun TimelineItemStickerViewPreview(@PreviewParameter(TimelineItemStickerContentProvider::class) content: TimelineItemStickerContent) = ElementPreview {
TimelineItemStickerView( TimelineItemStickerView(
content = content, content = content,
hideContent = false, hideMediaContent = false,
onShowClick = {}, onShowClick = {},
) )
} }

View file

@ -65,7 +65,7 @@ import io.element.android.wysiwyg.compose.EditorStyledText
@Composable @Composable
fun TimelineItemVideoView( fun TimelineItemVideoView(
content: TimelineItemVideoContent, content: TimelineItemVideoContent,
hideContent: Boolean, hideMediaContent: Boolean,
onShowClick: () -> Unit, onShowClick: () -> Unit,
onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
@ -87,7 +87,7 @@ fun TimelineItemVideoView(
contentAlignment = Alignment.Center, contentAlignment = Alignment.Center,
) { ) {
ProtectedView( ProtectedView(
hideContent = hideContent, hideContent = hideMediaContent,
onShowClick = onShowClick, onShowClick = onShowClick,
) { ) {
var isLoaded by remember { mutableStateOf(false) } var isLoaded by remember { mutableStateOf(false) }
@ -151,7 +151,7 @@ fun TimelineItemVideoView(
internal fun TimelineItemVideoViewPreview(@PreviewParameter(TimelineItemVideoContentProvider::class) content: TimelineItemVideoContent) = ElementPreview { internal fun TimelineItemVideoViewPreview(@PreviewParameter(TimelineItemVideoContentProvider::class) content: TimelineItemVideoContent) = ElementPreview {
TimelineItemVideoView( TimelineItemVideoView(
content = content, content = content,
hideContent = false, hideMediaContent = false,
onShowClick = {}, onShowClick = {},
onContentLayoutChange = {}, onContentLayoutChange = {},
) )
@ -159,10 +159,10 @@ internal fun TimelineItemVideoViewPreview(@PreviewParameter(TimelineItemVideoCon
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun TimelineItemVideoViewHideContentPreview() = ElementPreview { internal fun TimelineItemVideoViewHideMediaContentPreview() = ElementPreview {
TimelineItemVideoView( TimelineItemVideoView(
content = aTimelineItemVideoContent(), content = aTimelineItemVideoContent(),
hideContent = true, hideMediaContent = true,
onShowClick = {}, onShowClick = {},
onContentLayoutChange = {}, onContentLayoutChange = {},
) )

View file

@ -25,11 +25,11 @@ class TimelineProtectionPresenter @Inject constructor(
) : Presenter<TimelineProtectionState> { ) : Presenter<TimelineProtectionState> {
@Composable @Composable
override fun present(): TimelineProtectionState { override fun present(): TimelineProtectionState {
val hideContent by appPreferencesStore.doesHideImagesAndVideosFlow().collectAsState(initial = false) val hideMediaContent by appPreferencesStore.doesHideImagesAndVideosFlow().collectAsState(initial = false)
var allowedEvents by remember { mutableStateOf<Set<EventId>>(setOf()) } var allowedEvents by remember { mutableStateOf<Set<EventId>>(setOf()) }
val protectionState by remember(hideContent) { val protectionState by remember(hideMediaContent) {
derivedStateOf { derivedStateOf {
if (hideContent) { if (hideMediaContent) {
ProtectionState.RenderOnly(eventIds = allowedEvents.toImmutableSet()) ProtectionState.RenderOnly(eventIds = allowedEvents.toImmutableSet())
} else { } else {
ProtectionState.RenderAll ProtectionState.RenderAll

View file

@ -15,7 +15,7 @@ data class TimelineProtectionState(
val protectionState: ProtectionState, val protectionState: ProtectionState,
val eventSink: (TimelineProtectionEvent) -> Unit, val eventSink: (TimelineProtectionEvent) -> Unit,
) { ) {
fun hideContent(eventId: EventId?) = when (protectionState) { fun hideMediaContent(eventId: EventId?) = when (protectionState) {
is ProtectionState.RenderAll -> false is ProtectionState.RenderAll -> false
is ProtectionState.RenderOnly -> eventId !in protectionState.eventIds is ProtectionState.RenderOnly -> eventId !in protectionState.eventIds
} }

View file

@ -15,30 +15,30 @@ import org.junit.Test
class TimelineProtectionStateTest { class TimelineProtectionStateTest {
@Test @Test
fun `when protectionState is RenderAll, hideContent always return null`() { fun `when protectionState is RenderAll, hideMediaContent always return null`() {
val sut = aTimelineProtectionState( val sut = aTimelineProtectionState(
protectionState = ProtectionState.RenderAll protectionState = ProtectionState.RenderAll
) )
assertThat(sut.hideContent(null)).isFalse() assertThat(sut.hideMediaContent(null)).isFalse()
assertThat(sut.hideContent(AN_EVENT_ID)).isFalse() assertThat(sut.hideMediaContent(AN_EVENT_ID)).isFalse()
} }
@Test @Test
fun `when protectionState is RenderOnly with empty set, hideContent always return true`() { fun `when protectionState is RenderOnly with empty set, hideMediaContent always return true`() {
val sut = aTimelineProtectionState( val sut = aTimelineProtectionState(
protectionState = ProtectionState.RenderOnly(persistentSetOf()) protectionState = ProtectionState.RenderOnly(persistentSetOf())
) )
assertThat(sut.hideContent(null)).isTrue() assertThat(sut.hideMediaContent(null)).isTrue()
assertThat(sut.hideContent(AN_EVENT_ID)).isTrue() assertThat(sut.hideMediaContent(AN_EVENT_ID)).isTrue()
} }
@Test @Test
fun `when protectionState is RenderOnly with an Event, hideContent can return true or false`() { fun `when protectionState is RenderOnly with an Event, hideMediaContent can return true or false`() {
val sut = aTimelineProtectionState( val sut = aTimelineProtectionState(
protectionState = ProtectionState.RenderOnly(persistentSetOf(AN_EVENT_ID)) protectionState = ProtectionState.RenderOnly(persistentSetOf(AN_EVENT_ID))
) )
assertThat(sut.hideContent(null)).isTrue() assertThat(sut.hideMediaContent(null)).isTrue()
assertThat(sut.hideContent(AN_EVENT_ID)).isFalse() assertThat(sut.hideMediaContent(AN_EVENT_ID)).isFalse()
assertThat(sut.hideContent(AN_EVENT_ID_2)).isTrue() assertThat(sut.hideMediaContent(AN_EVENT_ID_2)).isTrue()
} }
} }

View file

@ -118,8 +118,8 @@ class KonsistPreviewTest {
"TimelineItemEventRowWithReplyPreview", "TimelineItemEventRowWithReplyPreview",
"TimelineItemGroupedEventsRowContentCollapsePreview", "TimelineItemGroupedEventsRowContentCollapsePreview",
"TimelineItemGroupedEventsRowContentExpandedPreview", "TimelineItemGroupedEventsRowContentExpandedPreview",
"TimelineItemImageViewHideContentPreview", "TimelineItemImageViewHideMediaContentPreview",
"TimelineItemVideoViewHideContentPreview", "TimelineItemVideoViewHideMediaContentPreview",
"TimelineItemVoiceViewUnifiedPreview", "TimelineItemVoiceViewUnifiedPreview",
"TimelineVideoWithCaptionRowPreview", "TimelineVideoWithCaptionRowPreview",
"TimelineViewMessageShieldPreview", "TimelineViewMessageShieldPreview",