From b89bca4ca9c4bd5b98447af7efc478a6ea978e6f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 5 Jun 2023 12:19:48 +0200 Subject: [PATCH 01/17] Introduce ButtonColumnMolecule and ButtonRowMolecule. --- .../preview/AttachmentsPreviewView.kt | 9 +-- .../onboarding/impl/OnBoardingView.kt | 9 +-- .../impl/VerifySelfSessionView.kt | 17 +++-- .../atomic/molecules/ButtonColumnMolecule.kt | 69 +++++++++++++++++++ .../atomic/molecules/ButtonRowMolecule.kt | 64 +++++++++++++++++ 5 files changed, 145 insertions(+), 23 deletions(-) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ButtonColumnMolecule.kt create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ButtonRowMolecule.kt diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewView.kt index 28c78da1be..a96cd43628 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewView.kt @@ -14,19 +14,14 @@ * limitations under the License. */ -@file:OptIn(ExperimentalMaterial3Api::class) - package io.element.android.features.messages.impl.attachments.preview -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Alignment @@ -39,6 +34,7 @@ import io.element.android.features.messages.impl.attachments.Attachment import io.element.android.features.messages.impl.attachments.preview.error.sendAttachmentError import io.element.android.features.messages.impl.media.local.LocalMediaView import io.element.android.libraries.architecture.Async +import io.element.android.libraries.designsystem.atomic.molecules.ButtonRowMolecule import io.element.android.libraries.designsystem.components.ProgressDialog import io.element.android.libraries.designsystem.components.dialogs.RetryDialog import io.element.android.libraries.designsystem.preview.ElementPreviewDark @@ -150,9 +146,8 @@ private fun AttachmentsPreviewBottomActions( onSendClicked: () -> Unit, modifier: Modifier = Modifier ) { - Row( + ButtonRowMolecule( modifier = modifier, - horizontalArrangement = Arrangement.SpaceBetween ) { TextButton(onClick = onCancelClicked) { Text(stringResource(id = StringsR.string.action_cancel)) diff --git a/features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt b/features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt index fd736dc0e5..6f071fd090 100644 --- a/features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt +++ b/features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt @@ -17,7 +17,6 @@ package io.element.android.features.onboarding.impl import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -40,6 +39,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.pages.OnBoardingPage import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight @@ -117,12 +117,7 @@ private fun OnBoardingButtons( onCreateAccount: () -> Unit, modifier: Modifier = Modifier, ) { - Column( - modifier = modifier - .fillMaxWidth(), - horizontalAlignment = CenterHorizontally, - verticalArrangement = Arrangement.spacedBy(16.dp) - ) { + ButtonColumnMolecule(modifier = modifier) { if (state.canLoginWithQrCode) { Button( onClick = { diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt index 9403c8eab1..a3f3116c84 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt @@ -50,6 +50,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import io.element.android.libraries.architecture.Async import io.element.android.libraries.designsystem.ElementTextStyles +import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.components.button.ButtonWithProgress import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight @@ -83,12 +84,15 @@ fun VerifySelfSessionView( derivedStateOf { verificationFlowStep != FlowStep.AwaitingOtherDeviceResponse && verificationFlowStep != FlowStep.Completed } } Surface { - Column(modifier = modifier.systemBarsPadding()) { + Column( + modifier = modifier + .systemBarsPadding() + .padding(horizontal = 20.dp) + ) { Column( modifier = Modifier .fillMaxWidth() .weight(1f) - .padding(horizontal = 20.dp) ) { HeaderContent(verificationFlowStep = verificationFlowStep) Content(modifier = Modifier.weight(1f), flowState = verificationFlowStep) @@ -259,11 +263,8 @@ internal fun BottomMenu(screenState: VerifySelfSessionState, goBack: () -> Unit) else -> goBack } - Column( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 20.dp), - horizontalAlignment = Alignment.CenterHorizontally + ButtonColumnMolecule( + modifier = Modifier.padding(bottom = 40.dp) ) { ButtonWithProgress( text = positiveButtonTitle?.let { stringResource(it) }, @@ -272,7 +273,6 @@ internal fun BottomMenu(screenState: VerifySelfSessionState, goBack: () -> Unit) onClick = { positiveButtonEvent?.let { eventSink(it) } } ) if (negativeButtonTitle != null) { - Spacer(modifier = Modifier.height(16.dp)) TextButton( modifier = Modifier.fillMaxWidth(), onClick = negativeButtonCallback, @@ -281,7 +281,6 @@ internal fun BottomMenu(screenState: VerifySelfSessionState, goBack: () -> Unit) Text(stringResource(negativeButtonTitle), fontSize = 16.sp) } } - Spacer(Modifier.height(40.dp)) } } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ButtonColumnMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ButtonColumnMolecule.kt new file mode 100644 index 0000000000..a8ad97a950 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ButtonColumnMolecule.kt @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.designsystem.atomic.molecules + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.components.Button +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.theme.components.TextButton + +@Composable +fun ButtonColumnMolecule( + modifier: Modifier = Modifier, + content: @Composable ColumnScope.() -> Unit +) { + Column( + modifier = modifier + .fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.spacedBy(16.dp), + ) { + content() + } +} + +@Preview +@Composable +internal fun ButtonColumnMoleculeLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun ButtonColumnMoleculeDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + ButtonColumnMolecule { + Button(onClick = {}, modifier = Modifier.fillMaxWidth()) { + Text(text = "Button") + } + TextButton(onClick = {}, modifier = Modifier.fillMaxWidth()) { + Text(text = "TextButton") + } + } +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ButtonRowMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ButtonRowMolecule.kt new file mode 100644 index 0000000000..b8b5a2146f --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ButtonRowMolecule.kt @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.designsystem.atomic.molecules + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.theme.components.TextButton + +@Composable +fun ButtonRowMolecule( + modifier: Modifier = Modifier, + content: @Composable RowScope.() -> Unit +) { + Row( + modifier = modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween + ) { + content() + } +} + +@Preview +@Composable +internal fun ButtonRowMoleculeLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun ButtonRowMoleculeDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + ButtonRowMolecule { + TextButton(onClick = { }) { + Text("Button 1") + } + TextButton(onClick = { }) { + Text("Button 2") + } + } +} From 32026ea5fbc961bb979c426c6a0278cba1fbeb83 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 5 Jun 2023 12:44:51 +0200 Subject: [PATCH 02/17] Introduce IconTitleSubtitleMolecule. --- .../impl/VerifySelfSessionView.kt | 54 ++------- .../molecules/IconTitleSubtitleMolecule.kt | 105 ++++++++++++++++++ 2 files changed, 112 insertions(+), 47 deletions(-) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt index a3f3116c84..081da5d84e 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt @@ -17,19 +17,15 @@ package io.element.android.features.verifysession.impl import androidx.activity.compose.BackHandler -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.systemBarsPadding import androidx.compose.foundation.layout.widthIn -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable @@ -41,7 +37,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.composed import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter @@ -51,12 +46,11 @@ import androidx.compose.ui.unit.sp import io.element.android.libraries.architecture.Async import io.element.android.libraries.designsystem.ElementTextStyles import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule +import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule import io.element.android.libraries.designsystem.components.button.ButtonWithProgress import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import io.element.android.libraries.designsystem.theme.LocalColors import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator -import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.Surface import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.verification.VerificationEmoji @@ -125,46 +119,12 @@ internal fun HeaderContent(verificationFlowStep: FlowStep, modifier: Modifier = FlowStep.Ready, is FlowStep.Verifying, FlowStep.Completed -> R.string.screen_session_verification_compare_emojis_subtitle } - Column(modifier) { - Spacer(Modifier.height(80.dp)) - Box( - modifier = Modifier - .size(width = 70.dp, height = 70.dp) - .align(Alignment.CenterHorizontally) - .background( - color = LocalColors.current.quinary, - shape = RoundedCornerShape(14.dp) - ) - ) { - Spacer(modifier = Modifier.height(68.dp)) - Icon( - modifier = Modifier - .align(Alignment.Center) - .size(width = 48.dp, height = 48.dp), - tint = MaterialTheme.colorScheme.secondary, - resourceId = iconResourceId, - contentDescription = "", - ) - } - Spacer(modifier = Modifier.height(16.dp)) - Text( - text = stringResource(id = titleTextId), - modifier = Modifier - .fillMaxWidth() - .align(Alignment.CenterHorizontally), - textAlign = TextAlign.Center, - style = ElementTextStyles.Bold.title2, - color = MaterialTheme.colorScheme.primary, - ) - Spacer(Modifier.height(8.dp)) - Text( - text = stringResource(id = subtitleTextId), - modifier = Modifier.fillMaxWidth(), - textAlign = TextAlign.Center, - style = ElementTextStyles.Regular.subheadline, - color = MaterialTheme.colorScheme.secondary, - ) - } + IconTitleSubtitleMolecule( + modifier = modifier.padding(top = 80.dp), + iconResourceId = iconResourceId, + title = stringResource(id = titleTextId), + subTitle = stringResource(id = subtitleTextId) + ) } @Composable diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt new file mode 100644 index 0000000000..bda10b8ba2 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.designsystem.atomic.molecules + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import io.element.android.libraries.designsystem.ElementTextStyles +import io.element.android.libraries.designsystem.R +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.LocalColors +import io.element.android.libraries.designsystem.theme.components.Icon +import io.element.android.libraries.designsystem.theme.components.Text + +@Composable +fun IconTitleSubtitleMolecule( + iconResourceId: Int, + title: String, + subTitle: String, + modifier: Modifier = Modifier, +) { + Column(modifier) { + Box( + modifier = Modifier + .size(width = 70.dp, height = 70.dp) + .align(Alignment.CenterHorizontally) + .background( + color = LocalColors.current.quinary, + shape = RoundedCornerShape(14.dp) + ) + ) { + Icon( + modifier = Modifier + .align(Alignment.Center) + .size(width = 48.dp, height = 48.dp), + tint = MaterialTheme.colorScheme.secondary, + resourceId = iconResourceId, + contentDescription = "", + ) + } + Spacer(modifier = Modifier.height(16.dp)) + Text( + text = title, + modifier = Modifier + .fillMaxWidth(), + textAlign = TextAlign.Center, + style = ElementTextStyles.Bold.title2, + color = MaterialTheme.colorScheme.primary, + ) + Spacer(Modifier.height(8.dp)) + Text( + text = subTitle, + modifier = Modifier.fillMaxWidth(), + textAlign = TextAlign.Center, + style = ElementTextStyles.Regular.subheadline, + color = MaterialTheme.colorScheme.secondary, + ) + } +} + +@Preview +@Composable +internal fun IconTitleSubtitleMoleculeLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun IconTitleSubtitleMoleculeDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + IconTitleSubtitleMolecule( + iconResourceId = R.drawable.ic_edit, + title = "Title", + subTitle = "Sub iitle", + ) +} From 2f1b82ef12194fdf98ad9c24c3cb4519dbab8e98 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 5 Jun 2023 13:01:16 +0200 Subject: [PATCH 03/17] Introduce HeaderFooterPage. --- .../impl/VerifySelfSessionView.kt | 49 ++------ .../atomic/pages/HeaderFooterPage.kt | 119 ++++++++++++++++++ 2 files changed, 132 insertions(+), 36 deletions(-) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/HeaderFooterPage.kt diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt index 081da5d84e..2173c74897 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt @@ -21,10 +21,10 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.systemBarsPadding import androidx.compose.foundation.layout.widthIn import androidx.compose.material3.MaterialTheme import androidx.compose.material3.TextButton @@ -34,24 +34,21 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.composed -import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import io.element.android.libraries.architecture.Async import io.element.android.libraries.designsystem.ElementTextStyles import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule +import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage import io.element.android.libraries.designsystem.components.button.ButtonWithProgress import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator -import io.element.android.libraries.designsystem.theme.components.Surface import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.verification.VerificationEmoji import io.element.android.features.verifysession.impl.VerifySelfSessionState.VerificationStep as FlowStep @@ -77,24 +74,18 @@ fun VerifySelfSessionView( val buttonsVisible by remember(verificationFlowStep) { derivedStateOf { verificationFlowStep != FlowStep.AwaitingOtherDeviceResponse && verificationFlowStep != FlowStep.Completed } } - Surface { - Column( - modifier = modifier - .systemBarsPadding() - .padding(horizontal = 20.dp) - ) { - Column( - modifier = Modifier - .fillMaxWidth() - .weight(1f) - ) { - HeaderContent(verificationFlowStep = verificationFlowStep) - Content(modifier = Modifier.weight(1f), flowState = verificationFlowStep) - } + HeaderFooterPage( + modifier = modifier, + header = { + HeaderContent(verificationFlowStep = verificationFlowStep) + }, + footer = { if (buttonsVisible) { BottomMenu(screenState = state, goBack = ::goBackAndCancelIfNeeded) } } + ) { + Content(flowState = verificationFlowStep) } } @@ -120,7 +111,7 @@ internal fun HeaderContent(verificationFlowStep: FlowStep, modifier: Modifier = } IconTitleSubtitleMolecule( - modifier = modifier.padding(top = 80.dp), + modifier = modifier.padding(top = 60.dp), iconResourceId = iconResourceId, title = stringResource(id = titleTextId), subTitle = stringResource(id = subtitleTextId) @@ -129,14 +120,12 @@ internal fun HeaderContent(verificationFlowStep: FlowStep, modifier: Modifier = @Composable internal fun Content(flowState: FlowStep, modifier: Modifier = Modifier) { - Column(modifier, verticalArrangement = Arrangement.Center) { - Spacer(Modifier.shrinkableHeight(min = 20.dp, max = 56.dp)) + Column(modifier.fillMaxHeight(), verticalArrangement = Arrangement.Center) { when (flowState) { FlowStep.Initial, FlowStep.Ready, FlowStep.Canceled, FlowStep.Completed -> Unit FlowStep.AwaitingOtherDeviceResponse -> ContentWaiting() is FlowStep.Verifying -> ContentVerifying(flowState) } - Spacer(Modifier.shrinkableHeight(min = 20.dp, max = 56.dp)) } } @@ -224,7 +213,7 @@ internal fun BottomMenu(screenState: VerifySelfSessionState, goBack: () -> Unit) } ButtonColumnMolecule( - modifier = Modifier.padding(bottom = 40.dp) + modifier = Modifier.padding(bottom = 20.dp) ) { ButtonWithProgress( text = positiveButtonTitle?.let { stringResource(it) }, @@ -261,15 +250,3 @@ private fun ContentToPreview(state: VerifySelfSessionState) { goBack = {}, ) } - -private fun Modifier.shrinkableHeight( - min: Dp, - max: Dp, - minScreenHeight: Int = 720 -): Modifier = composed { - if (LocalConfiguration.current.screenHeightDp >= minScreenHeight) { - then(Modifier.height(max)) - } else { - then(Modifier.height(min)) - } -} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/HeaderFooterPage.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/HeaderFooterPage.kt new file mode 100644 index 0000000000..65daa5a8f2 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/HeaderFooterPage.kt @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.designsystem.atomic.pages + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.systemBarsPadding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.components.Text + +/** + * @param modifier Classical modifier. + * @param header optional header. + * @param footer optional footer. + * @param content main content. + */ +@Composable +fun HeaderFooterPage( + modifier: Modifier = Modifier, + header: @Composable () -> Unit = {}, + footer: @Composable () -> Unit = {}, + content: @Composable () -> Unit = {}, +) { + Column( + modifier = modifier + .fillMaxSize() + .systemBarsPadding() + .padding(all = 20.dp), + ) { + // Header + header() + // Content + Column( + modifier = Modifier + .weight(1f) + .fillMaxWidth(), + ) { + content() + } + // Footer + footer() + } +} + +@Preview +@Composable +internal fun HeaderFooterPageLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun HeaderFooterPageDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + HeaderFooterPage( + content = { + Box( + Modifier + .fillMaxSize(), + contentAlignment = Alignment.Center + ) { + Text( + text = "Content", + fontSize = 40.sp + ) + } + }, + header = { + Box( + Modifier + .fillMaxWidth(), + contentAlignment = Alignment.Center + ) { + Text( + text = "Header", + fontSize = 40.sp + ) + } + }, + footer = { + Box( + Modifier + .fillMaxWidth(), + contentAlignment = Alignment.Center + ) { + Text( + text = "Footer", + fontSize = 40.sp + ) + } + } + ) +} From 25fa3976e2a8399651ba2fbb439f904e72cae2f1 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Mon, 5 Jun 2023 11:16:43 +0000 Subject: [PATCH 04/17] Update screenshots --- ...ifySelfSessionViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...fySelfSessionViewLightPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...ButtonColumnMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png | 3 +++ ...uttonColumnMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png | 3 +++ ...up_ButtonRowMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png | 3 +++ ...p_ButtonRowMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png | 3 +++ ...itleSubtitleMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png | 3 +++ ...tleSubtitleMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png | 3 +++ ...oup_HeaderFooterPageDarkPreview_0_null,NEXUS_5,1.0,en].png | 3 +++ ...up_HeaderFooterPageLightPreview_0_null,NEXUS_5,1.0,en].png | 3 +++ 10 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonColumnMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonColumnMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonRowMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonRowMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_IconTitleSubtitleMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_IconTitleSubtitleMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.pages_null_DefaultGroup_HeaderFooterPageDarkPreview_0_null,NEXUS_5,1.0,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.pages_null_DefaultGroup_HeaderFooterPageLightPreview_0_null,NEXUS_5,1.0,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.verifysession.impl_null_DefaultGroup_VerifySelfSessionViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.verifysession.impl_null_DefaultGroup_VerifySelfSessionViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png index 1a79f10ed9..2980892672 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.verifysession.impl_null_DefaultGroup_VerifySelfSessionViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.verifysession.impl_null_DefaultGroup_VerifySelfSessionViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0162d20f04bfdd0fdd6eb6e00b18b5774f83f07a5c7a72d20d0f51988b05dc66 -size 26899 +oid sha256:bff3aaf96ea36cd876e0bb262155f7da0a5e110ab5308872bf43d80fa50da414 +size 26909 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.verifysession.impl_null_DefaultGroup_VerifySelfSessionViewLightPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.verifysession.impl_null_DefaultGroup_VerifySelfSessionViewLightPreview_0_null_1,NEXUS_5,1.0,en].png index 24cdb7b67a..7053e141af 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.verifysession.impl_null_DefaultGroup_VerifySelfSessionViewLightPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.verifysession.impl_null_DefaultGroup_VerifySelfSessionViewLightPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd0c4a8485e00b917265b6061ee901a9f131883069621d55f3f5c9a42673046c -size 26182 +oid sha256:ff5f22bda0c7deaaba6e8006abdd7e0c9ba1562016ae62ad41b6a70e67737fdc +size 26179 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonColumnMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonColumnMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..90611c12d6 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonColumnMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9042cbbca031bfd3e5ad357e1794a9b709448eb9194437dca51d8013d2e35028 +size 9624 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonColumnMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonColumnMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..912927f895 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonColumnMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c402ba186ccaaefdc4994985867d33e2d877268b1a31a27d3c8e1b9d57f31fb +size 9547 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonRowMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonRowMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..d8415d2e16 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonRowMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21bce29c6b994eea9ba101871ef7d86d73283f4d5275ff1b68ffce7544a6ec44 +size 7780 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonRowMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonRowMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..112215ac17 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_ButtonRowMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77e755537de1798e91b29a039e9dbea843f0680ef4a4599afab16f0cab83ab3c +size 7560 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_IconTitleSubtitleMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_IconTitleSubtitleMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..9f2b08ab8d --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_IconTitleSubtitleMoleculeDarkPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73d4db2c6cdd12c05672affc584c75161aa481fd0065c1b084f32ed4c3481c66 +size 10605 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_IconTitleSubtitleMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_IconTitleSubtitleMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..010dd2b941 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.molecules_null_DefaultGroup_IconTitleSubtitleMoleculeLightPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7aadaccb2874346a08bbdcf2cd8d51fd1490319e10c22065611c70543ce8d28d +size 9695 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.pages_null_DefaultGroup_HeaderFooterPageDarkPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.pages_null_DefaultGroup_HeaderFooterPageDarkPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..03cd540128 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.pages_null_DefaultGroup_HeaderFooterPageDarkPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a42089270cb47006962e1d953cc44c827cfb6928d17af8d071d3dd3a9907892c +size 17125 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.pages_null_DefaultGroup_HeaderFooterPageLightPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.pages_null_DefaultGroup_HeaderFooterPageLightPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..ffaab28218 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.atomic.pages_null_DefaultGroup_HeaderFooterPageLightPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:196ba6c67c3f586b0e5ec2c8feb5a345ecc4fba0df0ad49a38b097b12f5c96ea +size 16017 From ad873e8bf7979836c8f02bebe7e887356cbb8792 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Wed, 31 May 2023 12:20:48 +0100 Subject: [PATCH 05/17] Coverage: ignore more generated/non-prod code --- build.gradle.kts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 7ddcc3dc86..5624f2a63f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -158,10 +158,13 @@ koverMerged { "anvil.hint.merge.*", "anvil.module.*", "com.airbnb.android.showkase*", + "io.element.android.libraries.designsystem.showkase.*", "*_Factory", "*_Factory$*", "*_Module", "*_Module$*", + "*Module_Provides*", + "Dagger*Component*", "*ComposableSingletons$*", "*_AssistedFactory_Impl*", "*BuildConfig", @@ -175,6 +178,25 @@ koverMerged { ) ) } + + annotations { + excludes.addAll( + listOf( + "*Preview", + ) + ) + } + + projects { + excludes.addAll( + listOf( + ":anvilannotations", + ":anvilcodegen", + ":samples:minimal", + ":tests:testutils", + ) + ) + } } // Run ./gradlew koverMergedVerify to check the rules. From bbef43751bb9bf0e4565d5c09dcf2d8bc890c7a9 Mon Sep 17 00:00:00 2001 From: Marco Romano Date: Tue, 6 Jun 2023 15:33:30 +0200 Subject: [PATCH 06/17] Network library changes (#542) - Allows for http2 - Caches a global instance of kotlinx-serialization `Json` and configures it with a bit more leniency. - Moves okhttp's dependency strings to the .toml file - Switches off logging for release builds --- app/build.gradle.kts | 3 +- gradle/libs.versions.toml | 2 + libraries/network/build.gradle.kts | 5 +- .../libraries/network/NetworkModule.kt | 47 +++++++++---------- .../libraries/network/RetrofitFactory.kt | 18 ++++--- 5 files changed, 35 insertions(+), 40 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b355d840c4..68df90b408 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -216,7 +216,8 @@ dependencies { implementation(libs.coil) implementation(platform(libs.network.okhttp.bom)) - implementation("com.squareup.okhttp3:logging-interceptor") + implementation(libs.network.okhttp.logging) + implementation(libs.serialization.json) implementation(libs.dagger) kapt(libs.dagger.compiler) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ff849d6285..0be42b9bdd 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -104,6 +104,8 @@ squareup_seismic = "com.squareup:seismic:1.0.3" # network network_okhttp_bom = "com.squareup.okhttp3:okhttp-bom:4.11.0" +network_okhttp_logging = { module = "com.squareup.okhttp3:logging-interceptor" } +network_okhttp = { module = "com.squareup.okhttp3:okhttp" } network_retrofit = "com.squareup.retrofit2:retrofit:2.9.0" network_retrofit_converter_serialization = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0" diff --git a/libraries/network/build.gradle.kts b/libraries/network/build.gradle.kts index 29724e8e46..e133f94ba1 100644 --- a/libraries/network/build.gradle.kts +++ b/libraries/network/build.gradle.kts @@ -31,9 +31,8 @@ dependencies { implementation(projects.libraries.core) implementation(projects.libraries.di) implementation(platform(libs.network.okhttp.bom)) - implementation("com.squareup.okhttp3:okhttp") - implementation("com.squareup.okhttp3:logging-interceptor") - + implementation(libs.network.okhttp) + implementation(libs.network.okhttp.logging) implementation(libs.network.retrofit) implementation(libs.network.retrofit.converter.serialization) implementation(libs.serialization.json) diff --git a/libraries/network/src/main/kotlin/io/element/android/libraries/network/NetworkModule.kt b/libraries/network/src/main/kotlin/io/element/android/libraries/network/NetworkModule.kt index 07a039e248..52c04e6717 100644 --- a/libraries/network/src/main/kotlin/io/element/android/libraries/network/NetworkModule.kt +++ b/libraries/network/src/main/kotlin/io/element/android/libraries/network/NetworkModule.kt @@ -23,41 +23,36 @@ import io.element.android.libraries.core.meta.BuildMeta import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.SingleIn import io.element.android.libraries.network.interceptors.FormattedJsonHttpLogger +import kotlinx.serialization.json.Json import okhttp3.OkHttpClient -import okhttp3.Protocol import okhttp3.logging.HttpLoggingInterceptor import java.util.concurrent.TimeUnit @Module @ContributesTo(AppScope::class) object NetworkModule { - - @Provides - @JvmStatic - fun providesHttpLoggingInterceptor(buildMeta: BuildMeta): HttpLoggingInterceptor { - val loggingLevel = if (buildMeta.isDebuggable) { - HttpLoggingInterceptor.Level.BODY - } else { - HttpLoggingInterceptor.Level.BASIC - } - val logger = FormattedJsonHttpLogger(loggingLevel) - val interceptor = HttpLoggingInterceptor(logger) - interceptor.level = loggingLevel - return interceptor - } - @Provides @SingleIn(AppScope::class) fun providesOkHttpClient( - httpLoggingInterceptor: HttpLoggingInterceptor, - ): OkHttpClient { - return OkHttpClient.Builder() - // workaround for #4669 - .protocols(listOf(Protocol.HTTP_1_1)) - .connectTimeout(30, TimeUnit.SECONDS) - .readTimeout(60, TimeUnit.SECONDS) - .writeTimeout(60, TimeUnit.SECONDS) - .addInterceptor(httpLoggingInterceptor) - .build() + buildMeta: BuildMeta, + ): OkHttpClient = OkHttpClient.Builder().apply { + connectTimeout(30, TimeUnit.SECONDS) + readTimeout(60, TimeUnit.SECONDS) + writeTimeout(60, TimeUnit.SECONDS) + if (buildMeta.isDebuggable) addInterceptor(providesHttpLoggingInterceptor()) + }.build() + + @Provides + @SingleIn(AppScope::class) + fun providesJson(): Json = Json { + ignoreUnknownKeys = true } } + +private fun providesHttpLoggingInterceptor(): HttpLoggingInterceptor { + val loggingLevel = HttpLoggingInterceptor.Level.BODY + val logger = FormattedJsonHttpLogger(loggingLevel) + val interceptor = HttpLoggingInterceptor(logger) + interceptor.level = loggingLevel + return interceptor +} diff --git a/libraries/network/src/main/kotlin/io/element/android/libraries/network/RetrofitFactory.kt b/libraries/network/src/main/kotlin/io/element/android/libraries/network/RetrofitFactory.kt index 86531d3680..3873101c97 100644 --- a/libraries/network/src/main/kotlin/io/element/android/libraries/network/RetrofitFactory.kt +++ b/libraries/network/src/main/kotlin/io/element/android/libraries/network/RetrofitFactory.kt @@ -17,23 +17,21 @@ package io.element.android.libraries.network import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory -import dagger.Lazy import io.element.android.libraries.core.uri.ensureTrailingSlash import kotlinx.serialization.json.Json import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient import retrofit2.Retrofit import javax.inject.Inject +import javax.inject.Provider class RetrofitFactory @Inject constructor( - private val okHttpClient: Lazy, + private val okHttpClient: Provider, + private val json: Provider, ) { - fun create(baseUrl: String): Retrofit { - val contentType = "application/json".toMediaType() - return Retrofit.Builder() - .baseUrl(baseUrl.ensureTrailingSlash()) - .addConverterFactory(Json.asConverterFactory(contentType)) - .callFactory { request -> okHttpClient.get().newCall(request) } - .build() - } + fun create(baseUrl: String): Retrofit = Retrofit.Builder() + .baseUrl(baseUrl.ensureTrailingSlash()) + .addConverterFactory(json.get().asConverterFactory("application/json".toMediaType())) + .callFactory(okHttpClient.get()) + .build() } From 5707aedfa22f37ea86f99d29cdd5fdf8c296a3a0 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Tue, 6 Jun 2023 16:27:59 +0100 Subject: [PATCH 07/17] GH Workflows: move deps check, fix nightly Move the dependency check job from the quality workflow that runs on every PR to the nightly reports workflow. This sometimes flakes as it does a _lot_ of HTTP requests. It's less intrusive if that happens outside of the PR workflow. Also change the nightly job that runs tests to use LFS, so it actually has access to screenshots :) The sonar task is still broken, but it seems like an upstream bug: https://community.sonarsource.com/t/sonar-plugin-4-1-0-3113-4-2-0-3129-errors/91568 --- .github/workflows/nightlyReports.yml | 30 +++++++++++++++++++++++++- .github/workflows/quality.yml | 32 ---------------------------- 2 files changed, 29 insertions(+), 33 deletions(-) diff --git a/.github/workflows/nightlyReports.yml b/.github/workflows/nightlyReports.yml index 5c2110197f..fad1e4a426 100644 --- a/.github/workflows/nightlyReports.yml +++ b/.github/workflows/nightlyReports.yml @@ -17,7 +17,11 @@ jobs: runs-on: ubuntu-latest if: ${{ github.repository == 'vector-im/element-x-android' }} steps: - - uses: actions/checkout@v3 + - name: ⏬ Checkout with LFS + uses: actions/checkout@v3 + with: + lfs: 'true' + - name: Use JDK 17 uses: actions/setup-java@v3 with: @@ -41,3 +45,27 @@ jobs: ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }} if: ${{ always() && env.SONAR_TOKEN != '' && env.ORG_GRADLE_PROJECT_SONAR_LOGIN != '' }} run: ./gradlew sonar $CI_GRADLE_ARG_PROPERTIES + + # Gradle dependency analysis using https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin + dependency-analysis: + name: Dependency analysis + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Use JDK 17 + uses: actions/setup-java@v3 + with: + distribution: 'temurin' # See 'Supported distributions' for available options + java-version: '17' + - name: Configure gradle + uses: gradle/gradle-build-action@v2.4.2 + with: + cache-read-only: ${{ github.ref != 'refs/heads/develop' }} + - name: Dependency analysis + run: ./gradlew dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES + - name: Upload dependency analysis + if: always() + uses: actions/upload-artifact@v3 + with: + name: dependency-analysis + path: build/reports/dependency-check-report.html diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index c945559c8d..cc38dc956a 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -66,35 +66,3 @@ jobs: DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }} # Fallback for forks GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - # Gradle dependency analysis using https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin - dependency-analysis: - name: Dependency analysis - runs-on: ubuntu-latest - # Allow all jobs on main and develop. Just one per PR. - concurrency: - group: ${{ github.ref == 'refs/heads/main' && format('dep-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('dep-develop-{0}', github.sha) || format('dep-{0}', github.ref) }} - cancel-in-progress: true - steps: - - uses: actions/checkout@v3 - with: - # Ensure we are building the branch and not the branch after being merged on develop - # https://github.com/actions/checkout/issues/881 - ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }} - - name: Use JDK 17 - uses: actions/setup-java@v3 - with: - distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' - - name: Configure gradle - uses: gradle/gradle-build-action@v2.4.2 - with: - cache-read-only: ${{ github.ref != 'refs/heads/develop' }} - - name: Dependency analysis - run: ./gradlew dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES - - name: Upload dependency analysis - if: always() - uses: actions/upload-artifact@v3 - with: - name: dependency-analysis - path: build/reports/dependency-check-report.html From 4b40a40b3b0ff304f8e9f780835b75d9bf671de0 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Mon, 5 Jun 2023 14:20:56 +0100 Subject: [PATCH 08/17] Invites: increase vertical padding to 16dp --- .../features/invitelist/impl/components/InviteSummaryRow.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt b/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt index 7d1e7d9eb9..fde6ee929f 100644 --- a/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt +++ b/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt @@ -94,7 +94,7 @@ internal fun DefaultInviteSummaryRow( Row( modifier = Modifier .fillMaxWidth() - .padding(horizontal = 16.dp, vertical = 12.dp) + .padding(16.dp) .height(IntrinsicSize.Min), verticalAlignment = Alignment.Top ) { From 9c21034027520d91702f02be803d6f359f745178 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Mon, 5 Jun 2023 14:21:25 +0100 Subject: [PATCH 09/17] Create room: labels shouldn't be bold --- .../features/roomdetails/impl/edit/RoomDetailsEditView.kt | 1 + .../libraries/designsystem/components/LabelledTextField.kt | 2 ++ 2 files changed, 3 insertions(+) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/edit/RoomDetailsEditView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/edit/RoomDetailsEditView.kt index dd292de211..f7c2889505 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/edit/RoomDetailsEditView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/edit/RoomDetailsEditView.kt @@ -266,6 +266,7 @@ private fun LabelledReadOnlyField( Text( modifier = Modifier.padding(horizontal = 16.dp), style = MaterialTheme.typography.titleSmall, + fontWeight = FontWeight.Normal, color = MaterialTheme.colorScheme.primary, text = title, ) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledTextField.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledTextField.kt index 0f0ada5497..81a2ca36fc 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledTextField.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledTextField.kt @@ -23,6 +23,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import io.element.android.libraries.designsystem.preview.ElementPreviewDark @@ -47,6 +48,7 @@ fun LabelledTextField( Text( modifier = Modifier.padding(horizontal = 16.dp), style = MaterialTheme.typography.titleSmall, + fontWeight = FontWeight.Normal, color = MaterialTheme.colorScheme.primary, text = label ) From 35b83dd5c59e942f8875c39d4a9efd6336828b8f Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Mon, 5 Jun 2023 14:21:35 +0100 Subject: [PATCH 10/17] Progress dialog: use primary colour not onSurface --- .../libraries/designsystem/components/ProgressDialog.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ProgressDialog.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ProgressDialog.kt index 204acaeb1b..35e6743881 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ProgressDialog.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ProgressDialog.kt @@ -72,13 +72,13 @@ private fun ProgressDialogContent( modifier = Modifier.padding(top = 38.dp, bottom = 32.dp, start = 40.dp, end = 40.dp) ) { CircularProgressIndicator( - color = MaterialTheme.colorScheme.onSurfaceVariant + color = MaterialTheme.colorScheme.primary ) if (!text.isNullOrBlank()) { Spacer(modifier = Modifier.height(22.dp)) Text( text = text, - color = MaterialTheme.colorScheme.onSurfaceVariant, + color = MaterialTheme.colorScheme.primary, ) } } From 8a8bd66c6650004d87281e9f5474219a1dd16b8d Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Mon, 5 Jun 2023 15:05:50 +0100 Subject: [PATCH 11/17] Dividers should be 0.5dp not 1dp --- .../libraries/designsystem/theme/components/Divider.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Divider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Divider.kt index 692e89f8e8..a8d64d271d 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Divider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Divider.kt @@ -32,7 +32,7 @@ import io.element.android.libraries.designsystem.preview.PreviewGroup @Composable fun Divider( modifier: Modifier = Modifier, - thickness: Dp = DividerDefaults.Thickness, + thickness: Dp = ElementDividerDefaults.thickness, color: Color = DividerDefaults.color, ) { androidx.compose.material3.Divider( @@ -42,6 +42,10 @@ fun Divider( ) } +object ElementDividerDefaults { + val thickness = 0.5.dp +} + @Preview(group = PreviewGroup.Dividers) @Composable internal fun DividerPreview() = ElementThemedPreview { From 9d3000c983ff0b65d0383e690aa54c3390f4efca Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Mon, 5 Jun 2023 15:11:33 +0100 Subject: [PATCH 12/17] Remove PreferenceDivider It's now functionally identical to a plain Divider as the default is 0.5dp thickness. --- .../preferences/PreferenceCategory.kt | 3 +- .../preferences/PreferenceDivider.kt | 46 ------------------- .../preferences/PreferenceScreen.kt | 5 +- 3 files changed, 5 insertions(+), 49 deletions(-) delete mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceDivider.kt diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceCategory.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceCategory.kt index 95afb9363c..0569900b8b 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceCategory.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceCategory.kt @@ -30,6 +30,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import io.element.android.libraries.designsystem.preview.ElementThemedPreview import io.element.android.libraries.designsystem.preview.PreviewGroup +import io.element.android.libraries.designsystem.theme.components.Divider import io.element.android.libraries.designsystem.theme.components.Text @Composable @@ -48,7 +49,7 @@ fun PreferenceCategory( } content() if (showDivider) { - PreferenceDivider() + Divider() } } } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceDivider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceDivider.kt deleted file mode 100644 index 7c27e4f666..0000000000 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceDivider.kt +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2023 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.element.android.libraries.designsystem.components.preferences - -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp -import io.element.android.libraries.designsystem.preview.ElementThemedPreview -import io.element.android.libraries.designsystem.preview.PreviewGroup -import io.element.android.libraries.designsystem.theme.components.Divider - -@Composable -fun PreferenceDivider(modifier: Modifier = Modifier) { - Divider(modifier, thickness = 0.5.dp) -} - -@Preview(group = PreviewGroup.Dividers) -@Composable -internal fun PreferenceDividerPreview() { - ElementThemedPreview { - Box(Modifier.padding(vertical = 10.dp), contentAlignment = Alignment.Center) { - PreferenceDivider() - } - } -} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceScreen.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceScreen.kt index eacdf82fb7..10578ebcca 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceScreen.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceScreen.kt @@ -43,6 +43,7 @@ import androidx.compose.ui.unit.sp import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.components.Divider import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar @@ -131,13 +132,13 @@ private fun ContentToPreview() { subtitle = "Some other text", icon = Icons.Default.BugReport, ) - PreferenceDivider() + Divider() PreferenceSwitch( title = "Switch", icon = Icons.Default.Announcement, isChecked = true, ) - PreferenceDivider() + Divider() PreferenceSlide( title = "Slide", summary = "Summary", From b54219c152e9736558850bd371380852ab4dccfa Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Mon, 5 Jun 2023 15:35:13 +0100 Subject: [PATCH 13/17] Invite button: fiddle with touch area Instead of the whole width of the screen being touchable, make the clickable component 48dp high and 16dp padding either side of the content. --- .../features/roomlist/impl/RoomListView.kt | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt index b8e006d9e8..d8c22b9f66 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt @@ -18,7 +18,6 @@ package io.element.android.features.roomlist.impl import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ExperimentalLayoutApi @@ -236,32 +235,34 @@ fun RoomListContent( if (state.invitesState != InvitesState.NoInvites) { item { - Row( - horizontalArrangement = Arrangement.End, - verticalAlignment = Alignment.CenterVertically, - modifier = Modifier - .fillMaxSize() - .clickable(role = Role.Button, onClick = onInvitesClicked) - .heightIn(min = 48.dp), + Box( + modifier = Modifier.fillMaxWidth(), ) { - Text( - text = stringResource(StringR.string.action_invites_list), - fontSize = 14.sp, - style = noFontPadding, - ) - - if (state.invitesState == InvitesState.NewInvites) { - Spacer(Modifier.width(8.dp)) - - Box( - modifier = Modifier - .size(12.dp) - .clip(CircleShape) - .background(MaterialTheme.roomListUnreadIndicator()) + Row( + modifier = Modifier + .clickable(role = Role.Button, onClick = onInvitesClicked) + .padding(horizontal = 16.dp) + .align(Alignment.CenterEnd) + .heightIn(min = 48.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + Text( + text = stringResource(StringR.string.action_invites_list), + fontSize = 14.sp, + style = noFontPadding, ) - } - Spacer(Modifier.width(16.dp)) + if (state.invitesState == InvitesState.NewInvites) { + Spacer(Modifier.width(8.dp)) + + Box( + modifier = Modifier + .size(12.dp) + .clip(CircleShape) + .background(MaterialTheme.roomListUnreadIndicator()) + ) + } + } } } } From 0a5de5718f1b05826d8c4308b16de2746904005f Mon Sep 17 00:00:00 2001 From: ElementBot Date: Mon, 5 Jun 2023 14:57:12 +0000 Subject: [PATCH 14/17] Update screenshots --- ...Group_UserListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...Group_UserListViewDarkPreview_0_null_6,NEXUS_5,1.0,en].png | 4 ++-- ...roup_UserListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...roup_UserListViewLightPreview_0_null_6,NEXUS_5,1.0,en].png | 4 ++-- ..._ConfigureRoomViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ..._ConfigureRoomViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...ConfigureRoomViewLightPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...ConfigureRoomViewLightPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...CreateRoomRootViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...reateRoomRootViewLightPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...p_InviteSummaryRowDarkPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...p_InviteSummaryRowDarkPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...p_InviteSummaryRowDarkPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...p_InviteSummaryRowDarkPreview_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...p_InviteSummaryRowDarkPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ..._InviteSummaryRowLightPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ..._InviteSummaryRowLightPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ..._InviteSummaryRowLightPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ..._InviteSummaryRowLightPreview_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ..._InviteSummaryRowLightPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...oup_InviteListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...oup_InviteListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...oup_InviteListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...oup_InviteListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...oup_InviteListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...up_InviteListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...up_InviteListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...up_InviteListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...up_InviteListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...up_InviteListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...roup_LeaveRoomViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...oup_LeaveRoomViewLightPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...Group_SheetContentDarkPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...roup_SheetContentLightPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...chmentsPreviewViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...oomDetailsEditViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...oomDetailsEditViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...oomDetailsEditViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...oomDetailsEditViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...oomDetailsEditViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...oomDetailsEditViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...omDetailsEditViewLightPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...omDetailsEditViewLightPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...omDetailsEditViewLightPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...omDetailsEditViewLightPreview_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...omDetailsEditViewLightPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...omDetailsEditViewLightPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ..._RoomInviteMembersDarkPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ..._RoomInviteMembersDarkPreview_0_null_6,NEXUS_5,1.0,en].png | 4 ++-- ...RoomInviteMembersLightPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...RoomInviteMembersLightPreview_0_null_6,NEXUS_5,1.0,en].png | 4 ++-- ...Group_RoomListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...Group_RoomListViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...Group_RoomListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...Group_RoomListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...Group_RoomListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...Group_RoomListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...Group_RoomListViewDarkPreview_0_null_8,NEXUS_5,1.0,en].png | 4 ++-- ...roup_RoomListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...roup_RoomListViewLightPreview_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...roup_RoomListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...roup_RoomListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...roup_RoomListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...roup_RoomListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...roup_RoomListViewLightPreview_0_null_8,NEXUS_5,1.0,en].png | 4 ++-- ...viders_PreferenceDividerPreview_0_null,NEXUS_5,1.0,en].png | 3 --- ...up_LabelledTextFieldDarkPreview_0_null,NEXUS_5,1.0,en].png | 4 ++-- ...p_LabelledTextFieldLightPreview_0_null,NEXUS_5,1.0,en].png | 4 ++-- ...l_Dialogs_ProgressDialogPreview_0_null,NEXUS_5,1.0,en].png | 4 ++-- ...ts_null_Dividers_DividerPreview_0_null,NEXUS_5,1.0,en].png | 4 ++-- 70 files changed, 138 insertions(+), 141 deletions(-) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_Dividers_PreferenceDividerPreview_0_null,NEXUS_5,1.0,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png index 8d998088d4..4f9036ae7e 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d941ac36664583640991d6a310edf45b4f87d8285647d6aa661970dba3c365b4 -size 83119 +oid sha256:8296d9d11de5cc99531910ca7252377e084234b09dfb49e1f5b9fa2d1ce602cf +size 83194 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewDarkPreview_0_null_6,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewDarkPreview_0_null_6,NEXUS_5,1.0,en].png index 0aa0526e46..73caadc8a3 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewDarkPreview_0_null_6,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewDarkPreview_0_null_6,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99f4447da79ca0c37c7607fb673b6dfd29cb241ba30420adcc0399db170a5810 -size 98150 +oid sha256:5c0668727ef819f0f5d2107ce3b6210110879d616c7aeda7d87e54fee1ec6f89 +size 99242 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png index da5bb823fa..fd144c35ad 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:12839404b6e9eaf8983ccf3e5773cd8c80174068e76924ad72b7b6429018b0b6 -size 79478 +oid sha256:e556931f594409bbf654dd410a25e418935bb8ffd5b7a8eea429a69b0c05424c +size 79592 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewLightPreview_0_null_6,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewLightPreview_0_null_6,NEXUS_5,1.0,en].png index f0827b9bb5..d27596f257 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewLightPreview_0_null_6,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.components_null_DefaultGroup_UserListViewLightPreview_0_null_6,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4115bdacc08b7c5bdb4c2859d131eaa0e84748d3f42e2de388ffef72131851a2 -size 93105 +oid sha256:048e556d97ea6301fdb6991776fd4f089e56e227d4babb60c73f350ed97b45a9 +size 94026 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png index 702667111a..5c9a0424fd 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d7a3255202968ab6a467b698ca41154b4564882ac3e45578ea36060a8c97583 -size 61586 +oid sha256:55d18860fbd298703c4f2345fea13bb6edaa065727aed4f043d6ed571a5d091c +size 61509 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png index 6f083a41b3..a283d82df6 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0bab25b90e451021883fcd388030ac054729d1ea28a2b4e9b6041f5a103f0a7b -size 99914 +oid sha256:68b9ca77722425893f3f28ab5df3770409b5b3a56b64eeae08e7c82d9a1e3e80 +size 99857 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewLightPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewLightPreview_0_null_0,NEXUS_5,1.0,en].png index 0a47a63e7b..dfcf058f15 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewLightPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewLightPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a3a36f97c7c22d4113570ce8413de29c1d62e96d1d979851a66f051ca229e08 -size 59148 +oid sha256:e3b2315704405e618e19f6d3e8d6d19ce0564e621b81a6a78e157ac1b2a0487b +size 59131 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewLightPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewLightPreview_0_null_1,NEXUS_5,1.0,en].png index ca1c275a25..6bb9b290b3 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewLightPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.configureroom_null_DefaultGroup_ConfigureRoomViewLightPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b28cfcb8e238559bd7775507397307fef4e192bb9e1615a0b08f048e73a5e6dd -size 96054 +oid sha256:808627e2b8e737b673a03a505e671a96e58ead5b9ccf896ad71e802346dac638 +size 96033 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.root_null_DefaultGroup_CreateRoomRootViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.root_null_DefaultGroup_CreateRoomRootViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png index 7d72c7bfd5..67a1ffbc50 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.root_null_DefaultGroup_CreateRoomRootViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.root_null_DefaultGroup_CreateRoomRootViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:88f8d524d6a22a05b013c8cdc73b909a4ca41938d0fdb41923381c2045e6b37f -size 8990 +oid sha256:edfafd24c8085ba7fe218c720b9dc2fead18d729b6ddea3b9fc04b51cb7c0e91 +size 9418 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.root_null_DefaultGroup_CreateRoomRootViewLightPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.root_null_DefaultGroup_CreateRoomRootViewLightPreview_0_null_1,NEXUS_5,1.0,en].png index 54d0f9392a..5b6e8051bc 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.root_null_DefaultGroup_CreateRoomRootViewLightPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.createroom.impl.root_null_DefaultGroup_CreateRoomRootViewLightPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6ff5a856c3af2b85848a80e7d832ebbf737e7d5cf06105d5a01c1e6b3f1eeb7 -size 9115 +oid sha256:f6b92a6d4f1a2287cefe06c6ba7cb2a2210d61cf4c38747ffd308e4455d78f71 +size 9335 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_0,NEXUS_5,1.0,en].png index b997b3cd19..247fca904c 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e20ba9c18742b91164f5d0bdbbfe41b3960ab67bf921c2d305cfd72fbe57e52 -size 33100 +oid sha256:596e4e45b76ab154f3b4011a1ef3fbd27ae801a758949c7a901262c752e7eb6e +size 33461 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_1,NEXUS_5,1.0,en].png index 980b774ce6..5c78b020b4 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3dfa909234ae27da447b12391d53657afd23ef0dd17cff4c8bb55ef1b9811432 -size 38347 +oid sha256:46cb0ed395274b4201da2bc604695e2cd805ad74cff58cc1ba341d38cb63dd6f +size 38863 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_2,NEXUS_5,1.0,en].png index f793b92d85..dd5b58603c 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c1b9dc41e7f4abce90208ce21b2537d8522e1467afdc702735f2d3ab79ed265 -size 38320 +oid sha256:84aae5ef0c7c9d8308e56b290cdbab809e6e732181fbcbcb22be794d8cb2f34b +size 38780 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_3,NEXUS_5,1.0,en].png index 7c1f188361..5a7bbccb05 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d9f210f49c4b9a17b01fffe23229afd6dc7909a50ff79732c4d7f169f6c6c558 -size 18098 +oid sha256:0d59f1042dfdeb97fb2992c21c2c50a6ae1f8535a5b72063c874a91c1ece6076 +size 18355 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_4,NEXUS_5,1.0,en].png index 6d560922fc..37acb7ea75 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowDarkPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4782d54f26127fa3e8eb2674486c093036310febc29fc883731eddab158cad40 -size 33261 +oid sha256:26b409cd4f3c950458e12b1ae3dcd586705edf6f2d79a549aab8b84b59578314 +size 33578 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_0,NEXUS_5,1.0,en].png index 9089e8a679..22a205556d 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0741f10b79b3ba739a7d2f160e61df8ea30c7e90d5b03db66cf0fadae39637d -size 31877 +oid sha256:c4a7984c30e35b3b1641002b5facfe08dfab34e18c12383f82ae479c5ab57e25 +size 32435 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_1,NEXUS_5,1.0,en].png index b4aaa68943..d64b040bd1 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f9e818b80358ed35dfe0b1b1d26b8e64a137aa6f2fbce02385cb3cc7900bd852 -size 37293 +oid sha256:ff299a00cc2b4006fae62e24765a2810fcca23cf56e4b8df86b09e8588a96dc4 +size 37631 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_2,NEXUS_5,1.0,en].png index b7285921cb..31ae5ebdc0 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:18dd6a307f1990b95cddba7e5ae199fc2c9746fdc49231ceb320558707c1ec1c -size 37252 +oid sha256:9942eefb85c7525fe17184efa0b5dae53d7b1d76eff618b7ff99e90ae7220893 +size 37632 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_3,NEXUS_5,1.0,en].png index e91d751278..28de60e2c2 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c0e24c4fc71151ae8dc04a6213ecc15e0d25dbe6b1684d177086572aeff84c5 -size 17289 +oid sha256:074e0273e41666a37e1c2d0887956a9949d84364518e89ae31cb2523f1c3b37d +size 17417 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_4,NEXUS_5,1.0,en].png index 785a1d95d9..1989bcb2f3 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl.components_null_DefaultGroup_InviteSummaryRowLightPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49048bedc855a3460f7a3e7c387481c53e4633ef4110f120c5f8ce649980a583 -size 32034 +oid sha256:721007e228a1fac6c5e61f6a17ae5d2871fe6515a3f351a4ec91214a5b4e4538 +size 32602 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png index 976dca53e5..9781c01c76 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4bddb1e4c74494ed89812a31e35c8d056a3109043fa817c1dbae13d522e56566 -size 66641 +oid sha256:8340785a1a871d93d9acda9d788d63c91b8270c747bb7b7748b7e532f56ed7e5 +size 66547 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png index a7e0d82adf..a048a94f2e 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d6e5e784a6ee50cbf767bc0da43b493e910ee2a7ace9890419916d23c1e11a3 -size 45461 +oid sha256:b3b668c53fbb814eb7c6c3a37f068e9475e0dd286a1099581e17c41b806cfa31 +size 48090 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png index 5063f141db..5714e71866 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f74cb8516eaf4d8f0e289f685d520bc130df21cbfc4fbc68eed001c4138c83b2 -size 45907 +oid sha256:43f0d1fbafcde1e07b8ea58a38505916d7aa987aac8d9f3aef323f9001a80344 +size 48525 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png index f01232857d..183cd6acb0 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:360c2c69a3d03538f6f61847757a15e88051b38195cadcd33f9cf2e57638b3f1 -size 41761 +oid sha256:8662ededaa1c6682d2571e3398d6007dcf92a392efc59985c64bd48d68e2c296 +size 43088 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png index f01232857d..183cd6acb0 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:360c2c69a3d03538f6f61847757a15e88051b38195cadcd33f9cf2e57638b3f1 -size 41761 +oid sha256:8662ededaa1c6682d2571e3398d6007dcf92a392efc59985c64bd48d68e2c296 +size 43088 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png index e47f892614..212937c69f 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:75f493a62614704c956b8be9351532bb431cc69e400adc9f1d536579b6dc731c -size 64226 +oid sha256:66a2c37dbb7478d45546d8ae404befe0ed0efa7c3ff467566fc4b4b9b76b7628 +size 64363 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png index a9ba1e9184..3b72b8fce9 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e96dae6cc767476bd60f23079776600449414a9423976b85c91c348ed065d7ae -size 44877 +oid sha256:8219ba85624c3bdc6671b2135aa04d16597fd4087ed38456769c161471984012 +size 47443 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png index 6288344822..61dfaf4448 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd0bb44da30359d50cf5754768d58d75bf4489c9d6fe9c4d5c0d2f3fd9020541 -size 45302 +oid sha256:6c0dfdc6684fece8358de955497762f43affd44fc44d35ce8982b2e713b0006f +size 47873 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png index a8e857a341..87919a25bd 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9654f73bd95d1b0d03dc6ea44d13c4910fb8e64a3c86644a11d5bc8591a4be8a -size 41312 +oid sha256:352cce29147cc831da72f7d0a5948d3d0841e05c168f86a09492fa6ab44942e9 +size 42405 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png index a8e857a341..87919a25bd 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.invitelist.impl_null_DefaultGroup_InviteListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9654f73bd95d1b0d03dc6ea44d13c4910fb8e64a3c86644a11d5bc8591a4be8a -size 41312 +oid sha256:352cce29147cc831da72f7d0a5948d3d0841e05c168f86a09492fa6ab44942e9 +size 42405 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.leaveroom.api_null_DefaultGroup_LeaveRoomViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.leaveroom.api_null_DefaultGroup_LeaveRoomViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png index a73d3d0153..9268e7b809 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.leaveroom.api_null_DefaultGroup_LeaveRoomViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.leaveroom.api_null_DefaultGroup_LeaveRoomViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee403297e15204e165ec5dce90e3e93e95e8e1b2e2cbd03489b91c4c9a6de083 -size 10360 +oid sha256:34d59f799c43ffcaa65b5af54e35a7507376db666093c4d5698d4125bd1e2228 +size 10796 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.leaveroom.api_null_DefaultGroup_LeaveRoomViewLightPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.leaveroom.api_null_DefaultGroup_LeaveRoomViewLightPreview_0_null_4,NEXUS_5,1.0,en].png index 000a6df318..4145b15089 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.leaveroom.api_null_DefaultGroup_LeaveRoomViewLightPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.leaveroom.api_null_DefaultGroup_LeaveRoomViewLightPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33237fb8f262176e6f291a8ded90ab56600113c93bed188f6d4d01df950df53e -size 9286 +oid sha256:36b3bc2c243a8c09bbdba33f617a6d0fdbb0f5943560e0f23008cc129d1b5682 +size 9520 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_2,NEXUS_5,1.0,en].png index 71d7ceb041..a0389de72b 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22afae6cd16ea0134b0966e5fbd7003592b9133e3d57947f062b7c9ebd4694d4 -size 33717 +oid sha256:14286b8d22070f428630ae1d4244da42f33d4aa4906fbcc09cae4a034ded7707 +size 33693 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_2,NEXUS_5,1.0,en].png index abbf9041a4..55932b4fea 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68e175fb1c070b17a2f7ef6644837fb37b906b122df737bb9740aa591aaddd34 -size 32943 +oid sha256:e30d0f0aff589c97e152b48d701a66ff323ab74aa1215af8dc1962bbff1a7204 +size 32867 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.attachments.preview_null_DefaultGroup_AttachmentsPreviewViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.attachments.preview_null_DefaultGroup_AttachmentsPreviewViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png index dd25b23be8..27ad024712 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.attachments.preview_null_DefaultGroup_AttachmentsPreviewViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.attachments.preview_null_DefaultGroup_AttachmentsPreviewViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df0343130f7d53b6257178623a12bcb7bbbcb995cc47ddc43e21e2269e8e8ffe -size 183009 +oid sha256:846f4846bed07b1aa030c07fbde42bdf38f6329250e1641ad83a9bd8786ea683 +size 183396 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png index ab17fdf14c..be8f048827 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:18569af3c955f9280122faf1ac653af2f569ee54bfa6d6d74b83adb2813ee04e -size 35446 +oid sha256:036d832c19fcba93b8848f9687f4029eba0beeb56893b740062b18c769f419cd +size 35424 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png index d479d05a6c..516cd6ab04 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:196cff5b2ee404d5547803039a919f565058a9a0b4c586b05458b63b37b54fd5 -size 28153 +oid sha256:22eb3320d95bb28b621ff2e7b3421f79b539d84a12591c885f088b3ae404b209 +size 28130 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png index 24a68f68c5..8108217e8d 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05fc7b6fa4e71ae48e795422184bcefd809c568f62a0709d08ffca045f078e66 -size 55574 +oid sha256:55ae80019f919603ec36672b0cc1f0571a9b9135994121fcc2b3420ffc667c40 +size 55567 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png index 95a95b905d..58c528a7d4 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:119ae9d67a9614e8b461d3a84dac8a59dfa59a72bdee5e178fe317cf2717f5d6 -size 34823 +oid sha256:b423c2a214c752e980b14181df543f178bf3aa878b0999802cee35d0a79cfb73 +size 34801 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png index 8bb96090b1..f124fbcc14 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:569a281b9ceeadebbf84572aa6f124ccacf8e82d88102b7e7af627350c252afb -size 34453 +oid sha256:a02bb25e5802305dcd08aa092f7201fb6e1e59c6e8dc8b6760756b75786de82f +size 34433 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png index 4d725f46e9..6b7092a63d 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f659dc9210a8165e992efa8b2884535417be7e4b35e83b1fc44b76fab9eeb2a7 -size 29956 +oid sha256:4ced1625c98be58c1fe1c4f29dc2e4df78abfabda0276274616f09dfefa65f8f +size 30517 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_0,NEXUS_5,1.0,en].png index b404a75fff..157cda223d 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e3c1ac7bb831e3fc9d9ac8500849342095a4a35dff2ee12879051e9bffb73894 -size 35541 +oid sha256:16db29fe1b26c978613cacadc059bd8d01796785d96444142cd14415154ea1d2 +size 35521 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_1,NEXUS_5,1.0,en].png index 4e5b3d98aa..7c1de21392 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4603362c3c2dfa9e002eb64c14eb0969ff749a4f0315e2b8810a58253ae42d21 -size 27992 +oid sha256:dac8c13ec5b3086829d50d92efc8cece7e60ffcb475cc01c0a8ccfc3069ae4e7 +size 27973 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_2,NEXUS_5,1.0,en].png index 511001b5cf..3d972d733a 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f199a3afe2771b33953e56af4f30f6ece7bd8ae421efd3b5601f6393c2d07617 -size 56336 +oid sha256:fbf110969859056024143b3665ddf735e0c772b4706890db194071107910199e +size 56316 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_3,NEXUS_5,1.0,en].png index d0c36f18e2..0dd1f01b43 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72847de27dbb5a0126b90c388b14ef443838c5832e8a37f1d29f51b2eb404d97 -size 34086 +oid sha256:9e45a51563799bd8ca32d56154819cd8df0fa6a466ae48ed809e3e40a2acd3b1 +size 34064 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_4,NEXUS_5,1.0,en].png index 49f7a29b98..7952f2c477 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e227432ad7515e2f060ed665861d65f502c354e700fcc428faa6ef20717c56de -size 34100 +oid sha256:45c113cdecc92a2210df1bc595159b0a02a115d527bf5f9344b1e177147d6770 +size 34076 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_5,NEXUS_5,1.0,en].png index 962b8cb6a6..52e9cbfa35 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.edit_null_DefaultGroup_RoomDetailsEditViewLightPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7df2eb3bc330ca400199bcf233914b91bd37e83ea6fd6bc9ac2dfe81102b85ed -size 30137 +oid sha256:10bcb62743748e2e04ceaf5e82a70ecf42f7361fa88ce0d7d63079ee45ce5209 +size 30155 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersDarkPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersDarkPreview_0_null_5,NEXUS_5,1.0,en].png index d0231d1df7..310ba74bea 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersDarkPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersDarkPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ce332185060fe0571610e9a060ce6dfafc7619dad384725456a4a755c39a123 -size 61131 +oid sha256:9e744f45c0a29e3cdc6d0d5417b9702b1a580c557e6d280e046b4a29319bb11f +size 61392 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersDarkPreview_0_null_6,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersDarkPreview_0_null_6,NEXUS_5,1.0,en].png index 1ee7906695..033b255510 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersDarkPreview_0_null_6,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersDarkPreview_0_null_6,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:77b5d690e30b652cbbb791f42dfe64359f594861a2b4423819f8ca5323618224 -size 48781 +oid sha256:cab143db9c710538a83643a5f7a164221f214bd44863da8fe4b852819c2626c2 +size 48723 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersLightPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersLightPreview_0_null_5,NEXUS_5,1.0,en].png index 57f62fcdad..290fddf754 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersLightPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersLightPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cccab9884c289a5fed109f7b5c0d0f3cf4e7502b49224b9d8febd8091d1a2833 -size 58176 +oid sha256:1c6c1fee51ea6c226a5ccdb993d6ea981ee6b7dbca04d5337eb63fc8333f0ed9 +size 58353 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersLightPreview_0_null_6,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersLightPreview_0_null_6,NEXUS_5,1.0,en].png index 6d84630d75..06c1349ada 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersLightPreview_0_null_6,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl.invite_null_DefaultGroup_RoomInviteMembersLightPreview_0_null_6,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:baed4459022e43e83676d2a01d9b7e37fc6b7a5749dead54b1a40f263329d10d -size 47061 +oid sha256:c36cc0518390bdd5290e7566cebe973319fcdf9b5c0b92e2b6214cf39dc79dc2 +size 46941 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png index 5e024274ba..ca2e7e26fd 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15270fa83a5ca1949100064cde7c5fe5fd699fc0fa92c63f43d178517ada98d4 -size 36987 +oid sha256:26de2da9800d65ff154d69cf0971a335562b999b6bcba6244af3e1017d7a1308 +size 37207 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png index d923840e85..877a37630c 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b45f6bebbca7877558e6cb83bc7743600b55a8e52f784cc07612d0cd5da2119b -size 59954 +oid sha256:51a78474ee803a12d9da6ca1fc367d9044014590538c82810f2093bbf33292cb +size 59899 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png index 5e024274ba..ca2e7e26fd 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15270fa83a5ca1949100064cde7c5fe5fd699fc0fa92c63f43d178517ada98d4 -size 36987 +oid sha256:26de2da9800d65ff154d69cf0971a335562b999b6bcba6244af3e1017d7a1308 +size 37207 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png index 3e8c261419..0c030a1a6a 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3eebcdc830c284275725260bc118662a26fd8e65ec21a77f732642bbbd52681c -size 39101 +oid sha256:4c86550be1f0ed106028aed32ee4dc5bb771bf49b07a23e4e4448db228176194 +size 39023 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png index 535115312a..38cdb6a4b2 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1cac0f39a88d10bdb902b32b705293b5add230d952df426be5e0954fe850bf5 -size 38672 +oid sha256:1094911711841f0d2e5dd4581dcfdc732b4493f8bc4161d7fe6bb6cc8eab176f +size 38907 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png index 3be86ff14d..ef9edc618d 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:48a836b13717a7bcb4f867b62c337edfa84a080568b5b3cce662f0c45575213b -size 38946 +oid sha256:a97766b61ad083807967aaf1c88a33ae4d8573c17331eba4125cfa9d2af0954d +size 39180 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_8,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_8,NEXUS_5,1.0,en].png index 5e024274ba..ca2e7e26fd 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_8,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewDarkPreview_0_null_8,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15270fa83a5ca1949100064cde7c5fe5fd699fc0fa92c63f43d178517ada98d4 -size 36987 +oid sha256:26de2da9800d65ff154d69cf0971a335562b999b6bcba6244af3e1017d7a1308 +size 37207 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png index 4b99091313..85385ea9d7 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14f60432ef23c4401211b63e253c230e51aff49d8c34ad96e2d582c1d9077511 -size 36622 +oid sha256:fbc31c87bba78dfd5cd6ba9f35697fb861f8155846472aa38c8a7b36ea1253b5 +size 36670 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_1,NEXUS_5,1.0,en].png index e9742897ef..5c400efbda 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:62283ab9c1f5d2aa743a29dcdb97ee1b38ae088a60e789c637b75b31a68fa20a -size 59028 +oid sha256:4437873da93ee83d396bd95ffab8209eb082bb11ee3a65aa3bb460896f4e89e3 +size 59047 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png index 4b99091313..85385ea9d7 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14f60432ef23c4401211b63e253c230e51aff49d8c34ad96e2d582c1d9077511 -size 36622 +oid sha256:fbc31c87bba78dfd5cd6ba9f35697fb861f8155846472aa38c8a7b36ea1253b5 +size 36670 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png index 9f5fc71221..3d963fc8e5 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ac8bfac6760a973144f15d169c10f4c025ca6c5eb6bdc70611b1172db173022 -size 38812 +oid sha256:1455062254f45ba400d0c90fe07668730bb71f9f2195545b7b1cba39bed93f6a +size 38740 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png index c620e67449..b9e45e62f3 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba94f329d3ea77b49ff6faf4fd477f23747e77fe5567cd78178b872ce82b3ba0 -size 38220 +oid sha256:3b3200cb682f7f3af39575c27bb4046c7108cbcbae5920e49db4db346c4ab32b +size 38269 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png index 8d0c03e19c..8e0c74cf1a 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7f904f6f8917037cd2c6ed6a5829c651b5dc9c33a922180f4c0a46a7e725608 -size 38484 +oid sha256:dc68f6929eca8c59482e427deb5c75efbba636168ab010be108c89ab8be8afc3 +size 38540 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_8,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_8,NEXUS_5,1.0,en].png index 4b99091313..85385ea9d7 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_8,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.impl_null_DefaultGroup_RoomListViewLightPreview_0_null_8,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14f60432ef23c4401211b63e253c230e51aff49d8c34ad96e2d582c1d9077511 -size 36622 +oid sha256:fbc31c87bba78dfd5cd6ba9f35697fb861f8155846472aa38c8a7b36ea1253b5 +size 36670 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_Dividers_PreferenceDividerPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_Dividers_PreferenceDividerPreview_0_null,NEXUS_5,1.0,en].png deleted file mode 100644 index 8150c6a0f0..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_Dividers_PreferenceDividerPreview_0_null,NEXUS_5,1.0,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4b12ec9d67ed21ba298830eed9ae68ecd6396c296d127ec5e73c3a809e3ed7ea -size 4710 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledTextFieldDarkPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledTextFieldDarkPreview_0_null,NEXUS_5,1.0,en].png index 1de39b0f80..ccb1603308 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledTextFieldDarkPreview_0_null,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledTextFieldDarkPreview_0_null,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7cc0a54fec11686b8ffcba432562cfc1115973fab77693f8983a5b81a64e5d78 -size 15683 +oid sha256:f8e002556b77ce049c8659dc1f8f405903179965b297f34f7ce63fac707883cc +size 15677 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledTextFieldLightPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledTextFieldLightPreview_0_null,NEXUS_5,1.0,en].png index f40b7dae38..ff67fc39c4 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledTextFieldLightPreview_0_null,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledTextFieldLightPreview_0_null,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:738fd87b80036a040ceaddbad06ed4657a0d8d9d8c6052933300e5c194c17f24 -size 15724 +oid sha256:164bb6b3010f12331cb49d337b83b45c7bd9eb0a219ea90f01fa0fd75a4381c6 +size 15785 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_Dialogs_ProgressDialogPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_Dialogs_ProgressDialogPreview_0_null,NEXUS_5,1.0,en].png index 10325ef2ff..650e4dc0d3 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_Dialogs_ProgressDialogPreview_0_null,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_Dialogs_ProgressDialogPreview_0_null,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf07281e8f30694fc5862ec0a91b2cafa567e52757f4087c9962027064304345 -size 17023 +oid sha256:5643f34a38d0496d26aa962573aff66e3a4fcdfd1e24b9e75dc03ddeb2dfa1c4 +size 17452 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_Dividers_DividerPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_Dividers_DividerPreview_0_null,NEXUS_5,1.0,en].png index c3b8a47bc3..8150c6a0f0 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_Dividers_DividerPreview_0_null,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_Dividers_DividerPreview_0_null,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbcb129bd5d83d68301a07ba671e8f18492a757b8982ed07e2e728f936446a84 -size 4733 +oid sha256:4b12ec9d67ed21ba298830eed9ae68ecd6396c296d127ec5e73c3a809e3ed7ea +size 4710 From 605e603b71a75e0ab90c999197e1fd5607f07bce Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Tue, 6 Jun 2023 16:42:49 +0100 Subject: [PATCH 15/17] Bump some font sizes from small to medium after review --- .../android/features/roomdetails/impl/RoomDetailsView.kt | 2 +- .../designsystem/components/preferences/PreferenceText.kt | 2 +- ...oup_RoomDetailsDarkPreview--1_1_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...oup_RoomDetailsDarkPreview--1_1_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...oup_RoomDetailsDarkPreview--1_1_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...oup_RoomDetailsDarkPreview--1_1_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...oup_RoomDetailsDarkPreview--1_1_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...oup_RoomDetailsDarkPreview--1_1_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...oup_RoomDetailsDarkPreview--1_1_null_6,NEXUS_5,1.0,en].png | 4 ++-- ...oup_RoomDetailsDarkPreview--1_1_null_7,NEXUS_5,1.0,en].png | 4 ++-- ...oup_RoomDetailsDarkPreview--1_1_null_8,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_0,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_1,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_2,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_3,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_4,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_5,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_6,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_7,NEXUS_5,1.0,en].png | 4 ++-- ...up_RoomDetailsLightPreview--0_0_null_8,NEXUS_5,1.0,en].png | 4 ++-- ...Group_PreferenceViewDarkPreview_0_null,NEXUS_5,1.0,en].png | 4 ++-- ...roup_PreferenceViewLightPreview_0_null,NEXUS_5,1.0,en].png | 4 ++-- ...eferences_PreferenceTextPreview_0_null,NEXUS_5,1.0,en].png | 4 ++-- 23 files changed, 44 insertions(+), 44 deletions(-) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index 9ecb199212..6c8509f0a3 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -261,7 +261,7 @@ internal fun TopicSection( Text( roomTopic.topic, modifier = Modifier.padding(start = 16.dp, end = 16.dp, top = 8.dp, bottom = 12.dp), - style = MaterialTheme.typography.bodySmall, + style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.tertiary ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceText.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceText.kt index 0d1d4847fa..2172f4518a 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceText.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceText.kt @@ -85,7 +85,7 @@ fun PreferenceText( } if (subtitle != null) { Text( - style = MaterialTheme.typography.bodySmall, + style = MaterialTheme.typography.bodyMedium, text = subtitle, color = tintColor ?: MaterialTheme.colorScheme.tertiary, ) diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_0,NEXUS_5,1.0,en].png index e0598cdac9..719089d8e9 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:751708b514c6e488cf26964cc1eb256a11373e0be40296f0285b240a97576067 -size 67678 +oid sha256:04e83ead8c23ec9160eb9cfd656aa5e9bf8c302dcf435d00b78aa2eba3243f0d +size 64181 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_1,NEXUS_5,1.0,en].png index cde16ce76e..dcdf364d71 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e30c0a2d0a880ee2a6ad3cf188686175d101cae85f397db73c8ff3bef42791ff -size 51198 +oid sha256:b59df47ab2ad44752eb3441ed117fff517e42c2c08f5e0c6402168223f35daef +size 53042 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_2,NEXUS_5,1.0,en].png index f1db42ab5b..ef99f706a2 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a667db77da7cdc4a3df9d0836d0c8e1f8ccba0d096c7226dddc53213fee21c1 -size 52421 +oid sha256:002fa211918a6d41c993339b30261fb8b564df442756bafe9f8866d2ecf51c81 +size 54256 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_3,NEXUS_5,1.0,en].png index 46d92c3825..bfc84aa2bf 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8748447a1ab1c3a7fca721210c319357cd51d658c6ce469e93392243bf8449dd -size 50219 +oid sha256:ec598fdc25acf4300e9e44a7b4913e3b9dd881cd27222393047421cd8c361217 +size 54722 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_4,NEXUS_5,1.0,en].png index cc50138671..c64bff1e9f 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d8783e57f39cc49ffae61e339fd5a3fffe7422dacfe19d309cb5e4d0f8eaac6 -size 63960 +oid sha256:df7c6f78b6a54d1444388aafdd76c8c00ba15be688e2ee10f0582339e74e2499 +size 67872 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_5,NEXUS_5,1.0,en].png index 9be4d79cdd..322e682ab4 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:66004f5ab345f1db47959538195381adebb9b553455d5a0c1cfb054c486e8010 -size 64693 +oid sha256:bff0080f9745cdd8d280670d139336649acc827a89a921d7bf92b626930675f4 +size 67818 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_6,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_6,NEXUS_5,1.0,en].png index 9be4d79cdd..322e682ab4 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_6,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_6,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:66004f5ab345f1db47959538195381adebb9b553455d5a0c1cfb054c486e8010 -size 64693 +oid sha256:bff0080f9745cdd8d280670d139336649acc827a89a921d7bf92b626930675f4 +size 67818 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_7,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_7,NEXUS_5,1.0,en].png index 26e0fce562..d4c96e56b4 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_7,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_7,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81fe924e17f8c23a11dd9b2cb5380ded663eec3cbe5dd7aaee43fc24fec33374 -size 59868 +oid sha256:872c9b5285190577292485c2c0439ceb2259b68740591f1cad7129f322b089b3 +size 57677 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_8,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_8,NEXUS_5,1.0,en].png index 99a46a1044..29f39d40c7 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_8,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsDarkPreview--1_1_null_8,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:799e499f285882e941581f40e238609ce08985b52f928df74856d4a4188caece -size 68021 +oid sha256:d3bdab2714bd1b232b255fbe0799209da5f40a390384fb21f56bbc1788032129 +size 64512 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_0,NEXUS_5,1.0,en].png index 85f75fdfe6..a12afbc7c9 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c54c197af52506c326ffd9f8b919c5cc76a19d61faa56b7a00aa27d24e1ceb2f -size 64259 +oid sha256:a9a1a5bb3c04fb601b84a2b1373544e8eba94f688d938a990308a0e788d96445 +size 61182 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_1,NEXUS_5,1.0,en].png index a2442af825..79ebe73047 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:449237a4bc5323de767c279ff394f5e7952d7309c7f115713dce1e2409f9695f -size 49349 +oid sha256:b7ee7551b233428723d79b099d7bac4634188a3ac120ff3389b2ed33625dcc94 +size 51252 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_2,NEXUS_5,1.0,en].png index aa5bcb484a..d0c208aa7c 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7045a9ced4691ec52451b6a31d2454ddc82c04b767c96a3dd4c3f81addcb8f0c -size 50010 +oid sha256:48e7307ffc1d8f7f7a885e67851314c3b135e74a4268ff5fede59758f91a3358 +size 51926 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_3,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_3,NEXUS_5,1.0,en].png index 66e16dc49c..2a02579eb9 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_3,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_3,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b22c207ac5f185c1c7eaa30ffe43acb2a1e8da06379f15f66ff96797b8ea9158 -size 48297 +oid sha256:632f982253a6e6f0101fd60a0ef48601cc2c06268ab3d66db084571a5861a52c +size 52417 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_4,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_4,NEXUS_5,1.0,en].png index e58e13b108..43fe21a48a 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_4,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_4,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7a98c0125cc58a130b8ebfbd5f2b8fcfa65e02b0c6a151c0b594208a8801c96 -size 60894 +oid sha256:c49a225d80fe15170e6444271b63324f67099bb733eb1c4b989508a4d0d678ef +size 64502 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_5,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_5,NEXUS_5,1.0,en].png index 5130e63f43..5b41bfe5ca 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_5,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_5,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb8dc0ca3fa34ffa40ea43934ee00d0c48c9b7ce721274763c093eee83d8cff9 -size 62187 +oid sha256:2f8fa7925b3798449c85181214b5bc55cd17cc3f2e0910a9aea0d39686e700ea +size 64607 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_6,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_6,NEXUS_5,1.0,en].png index 5130e63f43..5b41bfe5ca 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_6,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_6,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb8dc0ca3fa34ffa40ea43934ee00d0c48c9b7ce721274763c093eee83d8cff9 -size 62187 +oid sha256:2f8fa7925b3798449c85181214b5bc55cd17cc3f2e0910a9aea0d39686e700ea +size 64607 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_7,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_7,NEXUS_5,1.0,en].png index ac990b1dd1..4975863ccb 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_7,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_7,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3553eac43e61daeb753762dfa53f93a4ec0d8365abffa5971ec23ec8a6ca6704 -size 57130 +oid sha256:d8612af1823d149e503e5d47814ecb171a4b2a4be19a243751c89034a1fdb30d +size 55076 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_8,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_8,NEXUS_5,1.0,en].png index be582845d0..885fc65fb2 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_8,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomdetails.impl_null_DefaultGroup_RoomDetailsLightPreview--0_0_null_8,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1797f9c90a79fc9bcbb1aa8d8ae32452c76d17b12e8ef7f441e1c93e9ac95c3f -size 64593 +oid sha256:40ecdf8314109687437223860b5e28847d0cb8ba7d546829de5f061640e58315 +size 61500 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewDarkPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewDarkPreview_0_null,NEXUS_5,1.0,en].png index 1cb686bd33..2c177dff6c 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewDarkPreview_0_null,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewDarkPreview_0_null,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0393606c4c0ab12c06f280b50fd0a907629078b0c5a741b7c6398b61824c031f -size 22293 +oid sha256:2dfda5054d05b54204da8d77108c2536e8160ddb397eef94a67becbc043816f6 +size 22890 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewLightPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewLightPreview_0_null,NEXUS_5,1.0,en].png index 73c772154e..f338bdf0d9 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewLightPreview_0_null,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewLightPreview_0_null,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f13b118db744d879d693a6145d86152cc57182ff706597f7bfc83f2826d9ddc -size 21566 +oid sha256:f91bc017e330cb8c5d95430cd42d87638aa83d6c9e73cf3392a90ef45f864120 +size 22098 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_Preferences_PreferenceTextPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_Preferences_PreferenceTextPreview_0_null,NEXUS_5,1.0,en].png index ee7ffe8591..d818c6f2a0 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_Preferences_PreferenceTextPreview_0_null,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_Preferences_PreferenceTextPreview_0_null,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ffb9c9be0db74a45597439d0063bc469851dd79f67e7ec17da1f89fd7ab04fd8 -size 12033 +oid sha256:1fc465aa6658ace0327804f04e329cae12bf358daca27e48a8ae6bd516752a9c +size 12843 From a386322e2aa9f6e09e1597226a455f327cdccd7c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 7 Jun 2023 08:51:03 +0200 Subject: [PATCH 16/17] Update plugin ktlint to v11.4.0 (#544) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0be42b9bdd..117b489775 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -183,7 +183,7 @@ kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } anvil = { id = "com.squareup.anvil", version.ref = "anvil" } detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } -ktlint = "org.jlleitschuh.gradle.ktlint:11.3.2" +ktlint = "org.jlleitschuh.gradle.ktlint:11.4.0" dependencygraph = { id = "com.savvasdalkitsis.module-dependency-graph", version.ref = "dependencygraph" } dependencycheck = { id = "org.owasp.dependencycheck", version.ref = "dependencycheck" } dependencyanalysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyanalysis" } From 595fbda2204639216b153bdd195e0b5e0228574d Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Wed, 7 Jun 2023 13:06:19 +0200 Subject: [PATCH 17/17] [Message actions] New UI for message composer and editing (#526) * Add UI for edit composer mode * Remove leftover code from the RTE implementation --------- Co-authored-by: ElementBot --- .maestro/tests/roomList/searchRoomList.yaml | 2 - .../tests/roomList/timeline/timeline.yaml | 4 +- changelog.d/484.feature | 1 + .../messagecomposer/MessageComposerView.kt | 6 +- .../designsystem/theme/ColorsDark.kt | 1 + .../designsystem/theme/ColorsLight.kt | 1 + .../designsystem/theme/ElementColors.kt | 7 + .../theme/components/OutlinedTextField.kt | 48 ++ .../theme/components/TextField.kt | 48 ++ .../textcomposer/MessageComposerView.kt | 56 -- .../textcomposer/RichTextComposerLayout.kt | 552 ------------------ .../libraries/textcomposer/TextComposer.kt | 374 ++++++++---- .../textcomposer/tools/EditTextExtensions.kt | 55 -- .../tools/SimpleTransitionListener.kt | 41 -- .../textcomposer/tools/ViewExtensions.kt | 39 -- .../main/res/drawable/ic_add_attachment.xml | 10 + .../src/main/res/drawable/ic_send.xml | 9 + .../src/main/res/drawable/ic_tick.xml | 9 + .../kotlin/extension/DependencyHandleScope.kt | 1 + ...ewDarkPreview_0_null_0,NEXUS_5,1.0,en].png | 4 +- ...wLightPreview_0_null_0,NEXUS_5,1.0,en].png | 4 +- ...ewDarkPreview_0_null_0,NEXUS_5,1.0,en].png | 4 +- ...ewDarkPreview_0_null_1,NEXUS_5,1.0,en].png | 4 +- ...ewDarkPreview_0_null_2,NEXUS_5,1.0,en].png | 4 +- ...wLightPreview_0_null_0,NEXUS_5,1.0,en].png | 4 +- ...wLightPreview_0_null_1,NEXUS_5,1.0,en].png | 4 +- ...wLightPreview_0_null_2,NEXUS_5,1.0,en].png | 4 +- ...oserDarkPreview_0_null,NEXUS_5,1.0,en].png | 3 + ...serLightPreview_0_null,NEXUS_5,1.0,en].png | 3 + 29 files changed, 425 insertions(+), 877 deletions(-) create mode 100644 changelog.d/484.feature delete mode 100644 libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerView.kt delete mode 100644 libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/RichTextComposerLayout.kt delete mode 100644 libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/EditTextExtensions.kt delete mode 100644 libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/SimpleTransitionListener.kt delete mode 100644 libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/ViewExtensions.kt create mode 100644 libraries/textcomposer/src/main/res/drawable/ic_add_attachment.xml create mode 100644 libraries/textcomposer/src/main/res/drawable/ic_send.xml create mode 100644 libraries/textcomposer/src/main/res/drawable/ic_tick.xml create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.textcomposer_null_DefaultGroup_TextComposerDarkPreview_0_null,NEXUS_5,1.0,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.textcomposer_null_DefaultGroup_TextComposerLightPreview_0_null,NEXUS_5,1.0,en].png diff --git a/.maestro/tests/roomList/searchRoomList.yaml b/.maestro/tests/roomList/searchRoomList.yaml index 45138eb9aa..5125109197 100644 --- a/.maestro/tests/roomList/searchRoomList.yaml +++ b/.maestro/tests/roomList/searchRoomList.yaml @@ -5,8 +5,6 @@ appId: ${APP_ID} - inputText: ${ROOM_NAME.substring(0, 3)} - takeScreenshot: build/maestro/400-SearchRoom - tapOn: ${ROOM_NAME} -# Close keyboard -- hideKeyboard # Back from timeline - back # Close keyboard diff --git a/.maestro/tests/roomList/timeline/timeline.yaml b/.maestro/tests/roomList/timeline/timeline.yaml index 95d1c1ff57..e17bcb35cf 100644 --- a/.maestro/tests/roomList/timeline/timeline.yaml +++ b/.maestro/tests/roomList/timeline/timeline.yaml @@ -4,10 +4,8 @@ appId: ${APP_ID} # TODO Create a room on a new account - tapOn: ${ROOM_NAME} - takeScreenshot: build/maestro/500-Timeline -- tapOn: "Message…" +- tapOn: "Message" - inputText: "Hello world!" -- tapOn: "Toggle full screen mode" -- tapOn: "Toggle full screen mode" - tapOn: "Send" - hideKeyboard - back diff --git a/changelog.d/484.feature b/changelog.d/484.feature new file mode 100644 index 0000000000..d12d4f1547 --- /dev/null +++ b/changelog.d/484.feature @@ -0,0 +1 @@ +New UI for composer and editing messages diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerView.kt index a66e7d06ab..a317ea1ed3 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerView.kt @@ -23,7 +23,6 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import io.element.android.libraries.designsystem.theme.ElementTheme import io.element.android.libraries.textcomposer.TextComposer @Composable @@ -52,17 +51,14 @@ fun MessageComposerView( TextComposer( onSendMessage = ::sendMessage, - fullscreen = state.isFullScreen, - onFullscreenToggle = ::onFullscreenToggle, composerMode = state.mode, - onCloseSpecialMode = ::onCloseSpecialMode, + onResetComposerMode = ::onCloseSpecialMode, onComposerTextChange = ::onComposerTextChange, onAddAttachment = { state.eventSink(MessageComposerEvents.AddAttachment) }, composerCanSendMessage = state.isSendButtonVisible, composerText = state.text?.charSequence?.toString(), - isInDarkMode = !ElementTheme.colors.isLight, modifier = modifier ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorsDark.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorsDark.kt index b24f7fad89..c9aade676d 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorsDark.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorsDark.kt @@ -46,6 +46,7 @@ fun elementColorsDark() = ElementColors( gray400 = Compound_Gray_400_Dark, gray1400 = Compound_Gray_1400_Dark, textActionCritical = TextColorCriticalDark, + accentColor = Color(0xFF0DBD8B), placeholder = Compound_Gray_800_Dark, isLight = false, ) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorsLight.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorsLight.kt index c35037febd..94aca1b0f0 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorsLight.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorsLight.kt @@ -46,6 +46,7 @@ fun elementColorsLight() = ElementColors( gray400 = Compound_Gray_400_Light, gray1400 = Compound_Gray_1400_Light, textActionCritical = TextColorCriticalLight, + accentColor = Color(0xFF0DBD8B), placeholder = Compound_Gray_800_Light, isLight = true, ) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ElementColors.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ElementColors.kt index 7eb4dfc0d6..629242ad26 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ElementColors.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ElementColors.kt @@ -33,6 +33,7 @@ class ElementColors( gray400: Color, gray1400: Color, textActionCritical: Color, + accentColor: Color, placeholder: Color, isLight: Boolean ) { @@ -61,6 +62,9 @@ class ElementColors( var textActionCritical by mutableStateOf(textActionCritical) private set + var accentColor by mutableStateOf(accentColor) + private set + var placeholder by mutableStateOf(placeholder) private set @@ -77,6 +81,7 @@ class ElementColors( gray400: Color = this.gray400, gray1400: Color = this.gray1400, textActionCritical: Color = this.textActionCritical, + accentColor: Color = this.accentColor, placeholder: Color = this.placeholder, isLight: Boolean = this.isLight, ) = ElementColors( @@ -89,6 +94,7 @@ class ElementColors( gray400 = gray400, gray1400 = gray1400, textActionCritical = textActionCritical, + accentColor = accentColor, placeholder = placeholder, isLight = isLight, ) @@ -103,6 +109,7 @@ class ElementColors( gray400 = other.gray400 gray1400 = other.gray1400 textActionCritical = other.textActionCritical + accentColor = other.accentColor placeholder = other.placeholder isLight = other.isLight } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/OutlinedTextField.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/OutlinedTextField.kt index e0edeed050..423d1e46d1 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/OutlinedTextField.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/OutlinedTextField.kt @@ -39,6 +39,7 @@ import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onPreviewKeyEvent import androidx.compose.ui.input.key.type import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -95,6 +96,53 @@ fun OutlinedTextField( ) } +@Composable +fun OutlinedTextField( + value: TextFieldValue, + onValueChange: (TextFieldValue) -> Unit, + modifier: Modifier = Modifier, + enabled: Boolean = true, + readOnly: Boolean = false, + textStyle: TextStyle = LocalTextStyle.current, + label: @Composable (() -> Unit)? = null, + placeholder: @Composable (() -> Unit)? = null, + leadingIcon: @Composable (() -> Unit)? = null, + trailingIcon: @Composable (() -> Unit)? = null, + supportingText: @Composable (() -> Unit)? = null, + isError: Boolean = false, + visualTransformation: VisualTransformation = VisualTransformation.None, + keyboardOptions: KeyboardOptions = KeyboardOptions.Default, + keyboardActions: KeyboardActions = KeyboardActions.Default, + singleLine: Boolean = false, + maxLines: Int = Int.MAX_VALUE, + interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, + shape: Shape = OutlinedTextFieldDefaults.shape, + colors: TextFieldColors = OutlinedTextFieldDefaults.colors() +) { + androidx.compose.material3.OutlinedTextField( + value = value, + onValueChange = onValueChange, + modifier = modifier, + enabled = enabled, + readOnly = readOnly, + textStyle = textStyle, + label = label, + placeholder = placeholder, + leadingIcon = leadingIcon, + trailingIcon = trailingIcon, + supportingText = supportingText, + isError = isError, + visualTransformation = visualTransformation, + keyboardOptions = keyboardOptions, + keyboardActions = keyboardActions, + singleLine = singleLine, + maxLines = maxLines, + interactionSource = interactionSource, + shape = shape, + colors = colors, + ) +} + @OptIn(ExperimentalComposeUiApi::class) fun Modifier.onTabOrEnterKeyFocusNext(focusManager: FocusManager): Modifier = onPreviewKeyEvent { event -> if (event.key == Key.Tab || event.key == Key.Enter) { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt index 54fe50b8bf..8376369fba 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt @@ -40,6 +40,7 @@ import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.platform.LocalAutofill import androidx.compose.ui.platform.LocalAutofillTree import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -96,6 +97,53 @@ fun TextField( ) } +@Composable +fun TextField( + value: TextFieldValue, + onValueChange: (TextFieldValue) -> Unit, + modifier: Modifier = Modifier, + enabled: Boolean = true, + readOnly: Boolean = false, + textStyle: TextStyle = LocalTextStyle.current, + label: @Composable (() -> Unit)? = null, + placeholder: @Composable (() -> Unit)? = null, + leadingIcon: @Composable (() -> Unit)? = null, + trailingIcon: @Composable (() -> Unit)? = null, + supportingText: @Composable (() -> Unit)? = null, + isError: Boolean = false, + visualTransformation: VisualTransformation = VisualTransformation.None, + keyboardOptions: KeyboardOptions = KeyboardOptions.Default, + keyboardActions: KeyboardActions = KeyboardActions.Default, + singleLine: Boolean = false, + maxLines: Int = Int.MAX_VALUE, + interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, + shape: Shape = TextFieldDefaults.shape, + colors: TextFieldColors = TextFieldDefaults.colors() +) { + androidx.compose.material3.TextField( + value = value, + onValueChange = onValueChange, + modifier = modifier, + enabled = enabled, + readOnly = readOnly, + textStyle = textStyle, + label = label, + placeholder = placeholder, + leadingIcon = leadingIcon, + trailingIcon = trailingIcon, + supportingText = supportingText, + isError = isError, + visualTransformation = visualTransformation, + keyboardOptions = keyboardOptions, + keyboardActions = keyboardActions, + singleLine = singleLine, + maxLines = maxLines, + interactionSource = interactionSource, + shape = shape, + colors = colors, + ) +} + @Preview(group = PreviewGroup.TextFields) @Composable internal fun TextFieldLightPreview() = diff --git a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerView.kt b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerView.kt deleted file mode 100644 index d646a09ffc..0000000000 --- a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerView.kt +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2023 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.element.android.libraries.textcomposer - -import android.net.Uri -import android.text.Editable -import android.widget.EditText -import android.widget.ImageButton - -// Imported from Element Android -interface MessageComposerView { - - companion object { - const val MAX_LINES_WHEN_COLLAPSED = 10 - } - - val text: Editable? - val formattedText: String? - val editText: EditText - val emojiButton: ImageButton? - val sendButton: ImageButton - val attachmentButton: ImageButton - - var callback: Callback? - - fun setTextIfDifferent(text: CharSequence?): Boolean - fun renderComposerMode(mode: MessageComposerMode) -} - -interface Callback { - // From ComposerEditText.Callback - fun onRichContentSelected(contentUri: Uri): Boolean - - // From ComposerEditText.Callback - fun onTextChanged(text: CharSequence) - - fun onCloseRelatedMessage() - fun onSendMessage(text: CharSequence) - fun onAddAttachment() - fun onExpandOrCompactChange() - fun onFullScreenModeChanged() -} diff --git a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/RichTextComposerLayout.kt b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/RichTextComposerLayout.kt deleted file mode 100644 index e5ab34ebfe..0000000000 --- a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/RichTextComposerLayout.kt +++ /dev/null @@ -1,552 +0,0 @@ -/* - * Copyright (c) 2023 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.element.android.libraries.textcomposer - -import android.annotation.SuppressLint -import android.content.Context -import android.content.res.ColorStateList -import android.content.res.Configuration -import android.graphics.Color -import android.text.Editable -import android.text.TextWatcher -import android.util.AttributeSet -import android.util.TypedValue -import android.view.LayoutInflater -import android.view.MotionEvent -import android.view.View -import android.view.ViewGroup -import android.widget.EditText -import android.widget.ImageButton -import android.widget.LinearLayout -import androidx.annotation.DrawableRes -import androidx.annotation.StringRes -import androidx.constraintlayout.widget.ConstraintSet -import androidx.core.view.isGone -import androidx.core.view.isInvisible -import androidx.core.view.isVisible -import androidx.core.view.updateLayoutParams -import com.google.android.material.shape.MaterialShapeDrawable -import io.element.android.libraries.androidutils.ui.DimensionConverter -import io.element.android.libraries.androidutils.ui.hideKeyboard -import io.element.android.libraries.androidutils.ui.showKeyboard -import io.element.android.libraries.textcomposer.databinding.ComposerRichTextLayoutBinding -import io.element.android.libraries.textcomposer.databinding.ViewRichTextMenuButtonBinding -import io.element.android.libraries.textcomposer.tools.setTextIfDifferent -import io.element.android.wysiwyg.EditorEditText -import io.element.android.wysiwyg.view.models.InlineFormat -import uniffi.wysiwyg_composer.ActionState -import uniffi.wysiwyg_composer.ComposerAction -import io.element.android.libraries.resources.R as ElementR -import io.element.android.libraries.ui.strings.R as StringR - -// Imported from Element Android -class RichTextComposerLayout @JvmOverloads constructor( - context: Context, - attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : LinearLayout(context, attrs, defStyleAttr), MessageComposerView { - - private val views: ComposerRichTextLayoutBinding - - override var callback: Callback? = null - - // There is no need to persist these values since they're always updated by the parent fragment - private var isFullScreen = false - private var hasRelatedMessage = false - private var composerMode: MessageComposerMode? = null - - var isTextFormattingEnabled = true - set(value) { - if (field == value) return - syncEditTexts() - field = value - updateTextFieldBorder(isFullScreen) - updateEditTextVisibility() - updateFullScreenButtonVisibility() - // If formatting is no longer enabled and it's in full screen, minimise the editor - if (!value && isFullScreen) { - callback?.onFullScreenModeChanged() - } - } - - override val text: Editable? - get() = editText.text - override val formattedText: String? - get() = (editText as? EditorEditText)?.getHtmlOutput() - override val editText: EditText - get() = if (isTextFormattingEnabled) { - views.richTextComposerEditText - } else { - views.plainTextComposerEditText - } - override val emojiButton: ImageButton? - get() = null - override val sendButton: ImageButton - get() = views.sendButton - override val attachmentButton: ImageButton - get() = views.attachmentButton - - // Border of the EditText - private val borderShapeDrawable: MaterialShapeDrawable by lazy { - MaterialShapeDrawable().apply { - val typedData = TypedValue() - val lineColor = context.theme.obtainStyledAttributes( - typedData.data, - intArrayOf(ElementR.attr.vctr_content_quaternary) - ) - .getColor(0, 0) - strokeColor = ColorStateList.valueOf(lineColor) - strokeWidth = 1 * resources.displayMetrics.scaledDensity - fillColor = ColorStateList.valueOf(Color.TRANSPARENT) - val cornerSize = - resources.getDimensionPixelSize(R.dimen.rich_text_composer_corner_radius_single_line) - setCornerSize(cornerSize.toFloat()) - } - } - - private val dimensionConverter = DimensionConverter(resources) - - fun setFullScreen(isFullScreen: Boolean, animated: Boolean, manageKeyboard: Boolean) { - if (!animated && views.composerLayout.layoutParams != null) { - views.composerLayout.updateLayoutParams { - height = - if (isFullScreen) ViewGroup.LayoutParams.MATCH_PARENT else ViewGroup.LayoutParams.WRAP_CONTENT - } - } - editText.updateLayoutParams { - height = if (isFullScreen) ViewGroup.LayoutParams.MATCH_PARENT else ViewGroup.LayoutParams.WRAP_CONTENT - } - - updateTextFieldBorder(isFullScreen) - updateEditTextVisibility() - - updateEditTextFullScreenState(views.richTextComposerEditText, isFullScreen) - updateEditTextFullScreenState(views.plainTextComposerEditText, isFullScreen) - - views.composerFullScreenButton.setImageResource( - if (isFullScreen) R.drawable.ic_composer_collapse else R.drawable.ic_composer_full_screen - ) - - views.bottomSheetHandle.isVisible = false // EAx: always gone, we do not have a bottom sheet here. // isFullScreen - if (manageKeyboard) { - if (isFullScreen) { - editText.showKeyboard(true) - } else { - editText.hideKeyboard() - } - } - - this.isFullScreen = isFullScreen - } - - fun notifyIsBeingDragged(percentage: Float) { - // Calculate a new shape for the border according to the position in screen - val isSingleLine = editText.lineCount == 1 - val cornerSize = if (!isSingleLine || hasRelatedMessage) { - resources.getDimensionPixelSize(R.dimen.rich_text_composer_corner_radius_expanded) - .toFloat() - } else { - val multilineCornerSize = - resources.getDimensionPixelSize(R.dimen.rich_text_composer_corner_radius_expanded) - val singleLineCornerSize = - resources.getDimensionPixelSize(R.dimen.rich_text_composer_corner_radius_single_line) - val diff = singleLineCornerSize - multilineCornerSize - multilineCornerSize + diff * (1 - percentage) - } - if (cornerSize != borderShapeDrawable.bottomLeftCornerResolvedSize) { - borderShapeDrawable.setCornerSize(cornerSize) - } - - // Change maxLines while dragging, this should improve the smoothness of animations - val maxLines = if (percentage > 0.25f) { - Int.MAX_VALUE - } else { - MessageComposerView.MAX_LINES_WHEN_COLLAPSED - } - views.richTextComposerEditText.maxLines = maxLines - views.plainTextComposerEditText.maxLines = maxLines - - views.bottomSheetHandle.isVisible = false // EAx: always gone, we do not have a bottom sheet here. - } - - init { - inflate(context, R.layout.composer_rich_text_layout, this) - views = ComposerRichTextLayoutBinding.bind(this) - - // Workaround to avoid cut-off text caused by padding in scrolled TextView (there is no clipToPadding). - // In TextView, clipTop = padding, but also clipTop -= shadowRadius. So if we set the shadowRadius to padding, they cancel each other - views.richTextComposerEditText.setShadowLayer( - views.richTextComposerEditText.paddingBottom.toFloat(), - 0f, - 0f, - 0 - ) - views.plainTextComposerEditText.setShadowLayer( - views.richTextComposerEditText.paddingBottom.toFloat(), - 0f, - 0f, - 0 - ) - - renderComposerMode(MessageComposerMode.Normal(null)) - - views.richTextComposerEditText.addTextChangedListener( - TextChangeListener( - { callback?.onTextChanged(it) }, - { updateTextFieldBorder(isFullScreen) }) - ) - views.plainTextComposerEditText.addTextChangedListener( - TextChangeListener( - { callback?.onTextChanged(it) }, - { updateTextFieldBorder(isFullScreen) }) - ) - - disallowParentInterceptTouchEvent(views.richTextComposerEditText) - disallowParentInterceptTouchEvent(views.plainTextComposerEditText) - - views.composerModeCloseView.setOnClickListener { - callback?.onCloseRelatedMessage() - } - - views.sendButton.setOnClickListener { - val textMessage = - views.richTextComposerEditText.getMarkdown() // text?.toSpannable() ?: "" - callback?.onSendMessage(textMessage) - } - - views.attachmentButton.setOnClickListener { - callback?.onAddAttachment() - } - - views.composerFullScreenButton.apply { - updateFullScreenButtonVisibility() - setOnClickListener { - callback?.onFullScreenModeChanged() - } - } - - views.composerEditTextOuterBorder.background = borderShapeDrawable - - setupRichTextMenu() - - updateTextFieldBorder(isFullScreen) - } - - private fun setupRichTextMenu() { - addRichTextMenuItem( - R.drawable.ic_composer_bold, - R.string.rich_text_editor_format_bold, - ComposerAction.BOLD - ) { - views.richTextComposerEditText.toggleInlineFormat(InlineFormat.Bold) - } - addRichTextMenuItem( - R.drawable.ic_composer_italic, - R.string.rich_text_editor_format_italic, - ComposerAction.ITALIC - ) { - views.richTextComposerEditText.toggleInlineFormat(InlineFormat.Italic) - } - addRichTextMenuItem( - R.drawable.ic_composer_underlined, - R.string.rich_text_editor_format_underline, - ComposerAction.UNDERLINE - ) { - views.richTextComposerEditText.toggleInlineFormat(InlineFormat.Underline) - } - addRichTextMenuItem( - R.drawable.ic_composer_strikethrough, - R.string.rich_text_editor_format_strikethrough, - ComposerAction.STRIKE_THROUGH - ) { - views.richTextComposerEditText.toggleInlineFormat(InlineFormat.StrikeThrough) - } - } - - @SuppressLint("ClickableViewAccessibility") - private fun disallowParentInterceptTouchEvent(view: View) { - view.setOnTouchListener { v, event -> - if (v.hasFocus()) { - v.parent?.requestDisallowInterceptTouchEvent(true) - val action = event.actionMasked - if (action == MotionEvent.ACTION_SCROLL) { - v.parent?.requestDisallowInterceptTouchEvent(false) - return@setOnTouchListener true - } - } - false - } - } - - override fun onAttachedToWindow() { - super.onAttachedToWindow() - - views.richTextComposerEditText.actionStatesChangedListener = - EditorEditText.OnActionStatesChangedListener { state -> - for (action in state.keys) { - updateMenuStateFor(action, state) - } - } - - updateEditTextVisibility() - } - - private fun updateEditTextVisibility() { - views.richTextComposerEditText.isVisible = isTextFormattingEnabled - views.richTextMenu.isVisible = isTextFormattingEnabled - views.plainTextComposerEditText.isVisible = !isTextFormattingEnabled - - // The layouts for formatted text mode and plain text mode are different, so we need to update the constraints - val dpToPx = { dp: Int -> dimensionConverter.dpToPx(dp) } - ConstraintSet().apply { - clone(views.composerLayoutContent) - clear(R.id.composerEditTextOuterBorder, ConstraintSet.TOP) - clear(R.id.composerEditTextOuterBorder, ConstraintSet.BOTTOM) - clear(R.id.composerEditTextOuterBorder, ConstraintSet.START) - clear(R.id.composerEditTextOuterBorder, ConstraintSet.END) - if (isTextFormattingEnabled) { - connect( - R.id.composerEditTextOuterBorder, - ConstraintSet.TOP, - R.id.composerLayoutContent, - ConstraintSet.TOP, - dpToPx(8) - ) - connect( - R.id.composerEditTextOuterBorder, - ConstraintSet.BOTTOM, - R.id.sendButton, - ConstraintSet.TOP, - 0 - ) - connect( - R.id.composerEditTextOuterBorder, - ConstraintSet.START, - R.id.composerLayoutContent, - ConstraintSet.START, - dpToPx(12) - ) - connect( - R.id.composerEditTextOuterBorder, - ConstraintSet.END, - R.id.composerLayoutContent, - ConstraintSet.END, - dpToPx(12) - ) - } else { - connect( - R.id.composerEditTextOuterBorder, - ConstraintSet.TOP, - R.id.composerLayoutContent, - ConstraintSet.TOP, - dpToPx(10) - ) - connect( - R.id.composerEditTextOuterBorder, - ConstraintSet.BOTTOM, - R.id.composerLayoutContent, - ConstraintSet.BOTTOM, - dpToPx(10) - ) - connect( - R.id.composerEditTextOuterBorder, - ConstraintSet.START, - R.id.attachmentButton, - ConstraintSet.END, - 0 - ) - connect( - R.id.composerEditTextOuterBorder, - ConstraintSet.END, - R.id.sendButton, - ConstraintSet.START, - 0 - ) - } - applyTo(views.composerLayoutContent) - } - } - - private fun updateFullScreenButtonVisibility() { - val isLargeScreenDevice = - resources.configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE) - val isLandscape = resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE - // There's no point in having full screen in landscape since there's almost no vertical space - views.composerFullScreenButton.isInvisible = - !isTextFormattingEnabled || (isLandscape && !isLargeScreenDevice) - } - - /** - * Updates the non-active input with the contents of the active input. - */ - private fun syncEditTexts() = - if (isTextFormattingEnabled) { - views.plainTextComposerEditText.setText(views.richTextComposerEditText.getMarkdown()) - } else { - views.richTextComposerEditText.setMarkdown(views.plainTextComposerEditText.text.toString()) - } - - private fun addRichTextMenuItem( - @DrawableRes iconId: Int, - @StringRes description: Int, - action: ComposerAction, - onClick: () -> Unit - ) { - val inflater = LayoutInflater.from(context) - val button = ViewRichTextMenuButtonBinding.inflate(inflater, views.richTextMenu, true) - button.root.tag = action - with(button.root) { - contentDescription = resources.getString(description) - setImageResource(iconId) - setOnClickListener { - onClick() - } - } - } - - private fun updateMenuStateFor( - action: ComposerAction, - menuState: Map - ) { - val button = findViewWithTag(action) ?: return - val stateForAction = menuState[action] - button.isEnabled = stateForAction != ActionState.DISABLED - button.isSelected = stateForAction == ActionState.REVERSED - } - - fun estimateCollapsedHeight(): Int { - val editText = this.editText - val originalLines = editText.maxLines - val originalParamsHeight = editText.layoutParams.height - editText.maxLines = MessageComposerView.MAX_LINES_WHEN_COLLAPSED - editText.layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT - measure( - MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), - MeasureSpec.UNSPECIFIED, - ) - val result = measuredHeight - editText.layoutParams.height = originalParamsHeight - editText.maxLines = originalLines - return result - } - - private fun updateTextFieldBorder(isFullScreen: Boolean) { - val isMultiline = - editText.editableText.lines().count() > 1 || isFullScreen || hasRelatedMessage - val cornerSize = if (isMultiline) { - resources.getDimensionPixelSize(R.dimen.rich_text_composer_corner_radius_expanded) - } else { - resources.getDimensionPixelSize(R.dimen.rich_text_composer_corner_radius_single_line) - }.toFloat() - borderShapeDrawable.setCornerSize(cornerSize) - } - - private fun replaceFormattedContent(text: CharSequence) { - views.richTextComposerEditText.setHtml(text.toString()) - updateTextFieldBorder(isFullScreen) - } - - override fun setTextIfDifferent(text: CharSequence?): Boolean { - val result = editText.setTextIfDifferent(text) - updateTextFieldBorder(isFullScreen) - return result - } - - private fun updateEditTextFullScreenState(editText: EditText, isFullScreen: Boolean) { - if (isFullScreen) { - editText.maxLines = Int.MAX_VALUE - } else { - editText.maxLines = MessageComposerView.MAX_LINES_WHEN_COLLAPSED - } - } - - override fun renderComposerMode(mode: MessageComposerMode) { - if (this.composerMode == mode) return - this.composerMode = mode - - if (mode is MessageComposerMode.Special) { - views.composerModeGroup.isVisible = true - replaceFormattedContent(mode.defaultContent) - hasRelatedMessage = true - editText.showKeyboard(andRequestFocus = true) - } else { - views.composerModeGroup.isGone = true - (mode as? MessageComposerMode.Normal)?.content?.let { text -> - // TODO un-comment once we update to a version of the lib > 0.8.0 - /* - if (isTextFormattingEnabled) { - replaceFormattedContent(text) - } else { - views.plainTextComposerEditText.setText(text) - } - */ - views.plainTextComposerEditText.setText(text) - } - views.sendButton.contentDescription = resources.getString(StringR.string.action_send) - hasRelatedMessage = false - } - - views.sendButton.apply { - if (mode is MessageComposerMode.Edit) { - contentDescription = resources.getString(StringR.string.action_save) - setImageResource(R.drawable.ic_composer_rich_text_save) - } else { - contentDescription = resources.getString(StringR.string.action_send) - setImageResource(R.drawable.ic_rich_composer_send) - } - } - - updateTextFieldBorder(isFullScreen) - - when (mode) { - is MessageComposerMode.Edit -> { - views.composerModeTitleView.setText(R.string.editing) - views.composerModeIconView.setImageResource(R.drawable.ic_composer_rich_text_editor_edit) - } - is MessageComposerMode.Quote -> { - views.composerModeTitleView.setText(R.string.quoting) - views.composerModeIconView.setImageResource(R.drawable.ic_quote) - } - is MessageComposerMode.Reply -> { - val userName = mode.senderName - views.composerModeTitleView.text = - resources.getString(R.string.replying_to, userName) - views.composerModeIconView.setImageResource(R.drawable.ic_reply) - } - else -> Unit - } - } - - private class TextChangeListener( - private val onTextChanged: (s: Editable) -> Unit, - private val onExpandedChanged: (isExpanded: Boolean) -> Unit, - ) : TextWatcher { - private var previousTextWasExpanded = false - - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} - override fun afterTextChanged(s: Editable) { - onTextChanged.invoke(s) - - val isExpanded = s.lines().count() > 1 - if (previousTextWasExpanded != isExpanded) { - onExpandedChanged(isExpanded) - } - previousTextWasExpanded = isExpanded - } - } -} diff --git a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt index 1ede7be8fa..92bcff5000 100644 --- a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt +++ b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt @@ -16,140 +16,275 @@ package io.element.android.libraries.textcomposer -import android.graphics.Color -import android.net.Uri +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.BasicTextField +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Close +import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.TextFieldDefaults import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester -import androidx.compose.ui.platform.LocalInspectionMode +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ColorFilter +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import androidx.compose.ui.viewinterop.AndroidView -import androidx.core.view.isInvisible -import androidx.core.view.isVisible +import io.element.android.libraries.designsystem.ElementTextStyles +import io.element.android.libraries.designsystem.VectorIcons +import io.element.android.libraries.designsystem.modifiers.applyIf import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.LocalColors +import io.element.android.libraries.designsystem.theme.components.Icon +import io.element.android.libraries.designsystem.theme.components.Surface import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.ui.strings.R as StringR +@OptIn(ExperimentalMaterial3Api::class) @Composable fun TextComposer( - fullscreen: Boolean, composerText: String?, composerMode: MessageComposerMode, composerCanSendMessage: Boolean, - isInDarkMode: Boolean, modifier: Modifier = Modifier, + focusRequester: FocusRequester = FocusRequester(), onSendMessage: (String) -> Unit = {}, - onFullscreenToggle: () -> Unit = {}, - onCloseSpecialMode: () -> Unit = {}, + onResetComposerMode: () -> Unit = {}, onComposerTextChange: (CharSequence) -> Unit = {}, onAddAttachment:() -> Unit = {}, ) { - if (LocalInspectionMode.current) { - FakeComposer(modifier) - } else { - val focusRequester = FocusRequester() - AndroidView( - modifier = modifier.focusRequester(focusRequester), - factory = { context -> - RichTextComposerLayout(context).apply { - // Sets up listeners for View -> Compose communication - this.callback = object : Callback { - override fun onRichContentSelected(contentUri: Uri): Boolean { - return false - } - - override fun onTextChanged(text: CharSequence) { - onComposerTextChange(text) - } - - override fun onCloseRelatedMessage() { - onCloseSpecialMode() - } - - override fun onSendMessage(text: CharSequence) { - // text contains markdown. - onSendMessage(text.toString()) - } - - override fun onAddAttachment() { - onAddAttachment() - } - - override fun onExpandOrCompactChange() { - } - - override fun onFullScreenModeChanged() { - onFullscreenToggle() - } - } - setFullScreen(fullscreen, animated = false, manageKeyboard = true) - (this as MessageComposerView).apply { - setup(isInDarkMode, composerMode) - } - } - }, - update = { view -> - // View's been inflated or state read in this block has been updated - // Add logic here if necessary - - // As selectedItem is read here, AndroidView will recompose - // whenever the state changes - // Example of Compose -> View communication - val messageComposerView = (view as MessageComposerView) - view.setFullScreen(fullscreen, animated = false, manageKeyboard = false) - messageComposerView.renderComposerMode(composerMode) - messageComposerView.sendButton.isInvisible = !composerCanSendMessage - messageComposerView.setTextIfDifferent(composerText ?: "") - messageComposerView.editText.requestFocus() + val text = composerText.orEmpty() + Row(modifier.padding( + horizontal = 12.dp, + vertical = 8.dp + ), verticalAlignment = Alignment.Bottom) { + AttachmentButton(onClick = onAddAttachment, modifier = Modifier.padding(vertical = 6.dp)) + Spacer(modifier = Modifier.width(12.dp)) + var lineCount by remember { mutableStateOf(0) } + val roundedCorners = remember(lineCount, composerMode) { + if (lineCount > 1 || composerMode is MessageComposerMode.Special) { + RoundedCornerShape(20.dp) + } else { + RoundedCornerShape(28.dp) } - ) + } + + val minHeight = 42.dp + Column( + modifier = Modifier + .fillMaxWidth() + .clip(roundedCorners) + .background(MaterialTheme.colorScheme.surfaceVariant) + .border(1.dp, MaterialTheme.colorScheme.outlineVariant, roundedCorners) + ) { + if (composerMode is MessageComposerMode.Special) { + ComposerModeView(composerMode = composerMode, onResetComposerMode = onResetComposerMode) + } + val defaultTypography = ElementTextStyles.Regular.callout.copy(textAlign = TextAlign.Start) + Box { + BasicTextField( + modifier = Modifier + .fillMaxWidth() + .heightIn(min = minHeight) + .focusRequester(focusRequester), + value = text, + onValueChange = { onComposerTextChange(it) }, + onTextLayout = { + lineCount = it.lineCount + }, + textStyle = defaultTypography.copy(color = MaterialTheme.colorScheme.primary), + cursorBrush = SolidColor(LocalColors.current.accentColor), + decorationBox = { innerTextField -> + TextFieldDefaults.DecorationBox( + value = text, + innerTextField = innerTextField, + enabled = true, + singleLine = false, + visualTransformation = VisualTransformation.None, + shape = roundedCorners, + contentPadding = PaddingValues(top = 10.dp, bottom = 10.dp, start = 12.dp, end = 42.dp), + interactionSource = remember { MutableInteractionSource() }, + placeholder = { + Text(stringResource(StringR.string.common_message), style = defaultTypography) + }, + colors = TextFieldDefaults.colors( + unfocusedTextColor = MaterialTheme.colorScheme.secondary, + focusedTextColor = MaterialTheme.colorScheme.primary, + unfocusedPlaceholderColor = MaterialTheme.colorScheme.secondary, + focusedPlaceholderColor = MaterialTheme.colorScheme.secondary, + unfocusedIndicatorColor = Color.Transparent, + focusedIndicatorColor = Color.Transparent, + disabledIndicatorColor = Color.Transparent, + errorIndicatorColor = Color.Transparent, + unfocusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, + focusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, + errorContainerColor = MaterialTheme.colorScheme.surfaceVariant, + disabledContainerColor = MaterialTheme.colorScheme.surfaceVariant, + ) + ) + } + ) + + SendButton( + text = text, + canSendMessage = composerCanSendMessage, + onSendMessage = onSendMessage, + composerMode = composerMode, + modifier = Modifier.padding(end = 6.dp, bottom = 6.dp) + ) + } + } } } @Composable -private fun FakeComposer( +private fun ComposerModeView( + composerMode: MessageComposerMode, + onResetComposerMode: () -> Unit, modifier: Modifier = Modifier, ) { - // AndroidView is not Available in this mode, just render a Text - Box( - modifier = modifier - .fillMaxWidth() - .height(80.dp) - ) { - Text( - modifier = Modifier - .align(Alignment.Center), - textAlign = TextAlign.Center, - text = "Composer Preview", - fontSize = 20.sp, - color = MaterialTheme.colorScheme.secondary, - ) + when (composerMode) { + is MessageComposerMode.Edit -> { + Row(horizontalArrangement = Arrangement.spacedBy(6.dp), + modifier = modifier + .fillMaxWidth() + .padding(horizontal = 12.dp, vertical = 8.dp)) { + Icon( + resourceId = VectorIcons.Edit, + contentDescription = stringResource(R.string.editing), + tint = MaterialTheme.colorScheme.secondary, + modifier = Modifier.size(16.dp), + ) + Text( + stringResource(R.string.editing), + style = ElementTextStyles.Regular.caption2, + textAlign = TextAlign.Start, + color = MaterialTheme.colorScheme.secondary, + modifier = Modifier.weight(1f) + ) + Icon( + imageVector = Icons.Default.Close, + contentDescription = stringResource(StringR.string.action_close), + tint = MaterialTheme.colorScheme.secondary, + modifier = Modifier + .size(16.dp) + .clickable( + enabled = true, + onClick = onResetComposerMode, + interactionSource = MutableInteractionSource(), + indication = rememberRipple(bounded = false) + ), + + ) + } + } + else -> Unit } } -private fun MessageComposerView.setup(isDarkMode: Boolean, composerMode: MessageComposerMode) { - val editTextColor = if (isDarkMode) { - Color.WHITE - } else { - Color.BLACK +@Composable +private fun AttachmentButton( + onClick: () -> Unit, + modifier: Modifier = Modifier +) { + Box(modifier) { + Surface( + Modifier + .size(30.dp) + .clickable(true, onClick = onClick), + shape = CircleShape, + color = MaterialTheme.colorScheme.primary + ) { + Image( + modifier = Modifier.size(12.5f.dp), + painter = painterResource(R.drawable.ic_add_attachment), + contentDescription = null, + contentScale = ContentScale.Inside, + colorFilter = ColorFilter.tint( + LocalContentColor.current + ) + ) + } + } +} + +@Composable +private fun BoxScope.SendButton( + text: String, + canSendMessage: Boolean, + onSendMessage: (String) -> Unit, + composerMode: MessageComposerMode, + modifier: Modifier = Modifier, +) { + val interactionSource = MutableInteractionSource() + Box( + modifier = modifier + .clip(CircleShape) + .background(if (canSendMessage) LocalColors.current.accentColor else Color.Transparent) + .size(30.dp) + .align(Alignment.BottomEnd) + .applyIf(composerMode !is MessageComposerMode.Edit, ifTrue = { + padding(start = 1.dp) // Center the arrow in the circle + }) + .clickable( + enabled = canSendMessage, + interactionSource = interactionSource, + indication = rememberRipple(bounded = false), + onClick = { + onSendMessage(text) + }), + contentAlignment = Alignment.Center, + ) { + val iconId = when (composerMode) { + is MessageComposerMode.Edit -> R.drawable.ic_tick + else -> R.drawable.ic_send + } + val contentDescription = when (composerMode) { + is MessageComposerMode.Edit -> stringResource(StringR.string.action_edit) + else -> stringResource(StringR.string.action_send) + } + Icon( + modifier = Modifier.size(16.dp), + resourceId = iconId, + contentDescription = contentDescription, + tint = if (canSendMessage) Color.White else LocalColors.current.quaternary + ) } - editText.setTextColor(editTextColor) - editText.setHintTextColor(editTextColor) - editText.setHint(R.string.rich_text_editor_composer_placeholder) - emojiButton?.isVisible = true - sendButton.isVisible = true - editText.maxLines = MessageComposerView.MAX_LINES_WHEN_COLLAPSED - renderComposerMode(composerMode) } @Preview @@ -162,15 +297,38 @@ internal fun TextComposerDarkPreview() = ElementPreviewDark { ContentToPreview() @Composable private fun ContentToPreview() { - TextComposer( - onSendMessage = {}, - fullscreen = false, - onFullscreenToggle = { }, - onComposerTextChange = {}, - composerMode = MessageComposerMode.Normal(""), - onCloseSpecialMode = {}, - composerCanSendMessage = true, - composerText = "Message", - isInDarkMode = true, - ) + Column { + TextComposer( + onSendMessage = {}, + onComposerTextChange = {}, + composerMode = MessageComposerMode.Normal(""), + onResetComposerMode = {}, + composerCanSendMessage = false, + composerText = "", + ) + TextComposer( + onSendMessage = {}, + onComposerTextChange = {}, + composerMode = MessageComposerMode.Normal(""), + onResetComposerMode = {}, + composerCanSendMessage = true, + composerText = "A message", + ) + TextComposer( + onSendMessage = {}, + onComposerTextChange = {}, + composerMode = MessageComposerMode.Normal(""), + onResetComposerMode = {}, + composerCanSendMessage = true, + composerText = "A message\nWith several lines\nTo preview larger textfields and long lines with overflow", + ) + TextComposer( + onSendMessage = {}, + onComposerTextChange = {}, + composerMode = MessageComposerMode.Edit(EventId("$1234"), "Some text"), + onResetComposerMode = {}, + composerCanSendMessage = true, + composerText = "A message", + ) + } } diff --git a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/EditTextExtensions.kt b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/EditTextExtensions.kt deleted file mode 100644 index 03d501f258..0000000000 --- a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/EditTextExtensions.kt +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2023 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.element.android.libraries.textcomposer.tools - -import android.text.Spanned -import android.widget.EditText - -fun EditText.setTextIfDifferent(newText: CharSequence?): Boolean { - if (!isTextDifferent(newText, text)) { - // Previous text is the same. No op - return false - } - setText(newText) - // Since the text changed we move the cursor to the end of the new text. - // This allows us to fill in text programmatically with a different value, - // but if the user is typing and the view is rebound we won't lose their cursor position. - setSelection(newText?.length ?: 0) - return true -} - -private fun isTextDifferent(str1: CharSequence?, str2: CharSequence?): Boolean { - if (str1 === str2) { - return false - } - if (str1 == null || str2 == null) { - return true - } - val length = str1.length - if (length != str2.length) { - return true - } - if (str1 is Spanned) { - return str1 != str2 - } - for (i in 0 until length) { - if (str1[i] != str2[i]) { - return true - } - } - return false -} diff --git a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/SimpleTransitionListener.kt b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/SimpleTransitionListener.kt deleted file mode 100644 index 0aab1bdb6a..0000000000 --- a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/SimpleTransitionListener.kt +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2022 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.element.android.libraries.textcomposer.tools - -import androidx.transition.Transition - -open class SimpleTransitionListener : Transition.TransitionListener { - override fun onTransitionEnd(transition: Transition) { - // No op - } - - override fun onTransitionResume(transition: Transition) { - // No op - } - - override fun onTransitionPause(transition: Transition) { - // No op - } - - override fun onTransitionCancel(transition: Transition) { - // No op - } - - override fun onTransitionStart(transition: Transition) { - // No op - } -} diff --git a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/ViewExtensions.kt b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/ViewExtensions.kt deleted file mode 100644 index 8f1a1aacca..0000000000 --- a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/tools/ViewExtensions.kt +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2023 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.element.android.libraries.textcomposer.tools - -import android.view.ViewGroup -import androidx.transition.ChangeBounds -import androidx.transition.Fade -import androidx.transition.Transition -import androidx.transition.TransitionManager -import androidx.transition.TransitionSet - -fun ViewGroup.animateLayoutChange(animationDuration: Long, transitionComplete: (() -> Unit)? = null) { - val transition = TransitionSet().apply { - ordering = TransitionSet.ORDERING_SEQUENTIAL - addTransition(ChangeBounds()) - addTransition(Fade(Fade.IN)) - duration = animationDuration - addListener(object : SimpleTransitionListener() { - override fun onTransitionEnd(transition: Transition) { - transitionComplete?.invoke() - } - }) - } - TransitionManager.beginDelayedTransition((parent as? ViewGroup ?: this), transition) -} diff --git a/libraries/textcomposer/src/main/res/drawable/ic_add_attachment.xml b/libraries/textcomposer/src/main/res/drawable/ic_add_attachment.xml new file mode 100644 index 0000000000..ac9d53639b --- /dev/null +++ b/libraries/textcomposer/src/main/res/drawable/ic_add_attachment.xml @@ -0,0 +1,10 @@ + + + diff --git a/libraries/textcomposer/src/main/res/drawable/ic_send.xml b/libraries/textcomposer/src/main/res/drawable/ic_send.xml new file mode 100644 index 0000000000..64e0f120c4 --- /dev/null +++ b/libraries/textcomposer/src/main/res/drawable/ic_send.xml @@ -0,0 +1,9 @@ + + + diff --git a/libraries/textcomposer/src/main/res/drawable/ic_tick.xml b/libraries/textcomposer/src/main/res/drawable/ic_tick.xml new file mode 100644 index 0000000000..cf1d71a56f --- /dev/null +++ b/libraries/textcomposer/src/main/res/drawable/ic_tick.xml @@ -0,0 +1,9 @@ + + + diff --git a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt index 0a1b93acde..fa601a998d 100644 --- a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt +++ b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt @@ -98,6 +98,7 @@ fun DependencyHandlerScope.allLibrariesImpl() { implementation(project(":libraries:mediapickers:impl")) implementation(project(":libraries:mediaupload:impl")) implementation(project(":libraries:usersearch:impl")) + implementation(project(":libraries:textcomposer")) } fun DependencyHandlerScope.allServicesImpl() { diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.messagecomposer_null_DefaultGroup_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.messagecomposer_null_DefaultGroup_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png index 832dea6b88..3be64ba72c 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.messagecomposer_null_DefaultGroup_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.messagecomposer_null_DefaultGroup_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a48ccf1ff3570915b0673de7c0367d951b795c833d7896645b37000b8dc09c15 -size 9649 +oid sha256:8c88bfa85e91e6ab247e3feec199c8a29233827dbd2aad28cf9ff00ea9b99117 +size 10927 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.messagecomposer_null_DefaultGroup_MessageComposerViewLightPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.messagecomposer_null_DefaultGroup_MessageComposerViewLightPreview_0_null_0,NEXUS_5,1.0,en].png index 76f3a4c6f7..3d9b36339c 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.messagecomposer_null_DefaultGroup_MessageComposerViewLightPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl.messagecomposer_null_DefaultGroup_MessageComposerViewLightPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:945b360a62877d16ec7c25942158ae47e244df85118ca861482ff3bbf0aef55f -size 9268 +oid sha256:36adfe10149d33ce817d520d3f542b5441713f7ceddc5864747f624f5e26d432 +size 10620 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png index f25169f387..140ae5fece 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce6cbcf47c5e76d72fd9bf15e5676510ac29a3087cc862c67ccd4f7de1f24359 -size 45546 +oid sha256:7fbb93faeae669493b42bc5831b1c5bb67b25ed688d582e01249a9e23e03425a +size 47340 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png index 0b5394c953..eefb66d667 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9af27bab7bbac9914f4e2694f1ea9c200c57edb345bd107cfb5c2edb48cd056e -size 45725 +oid sha256:e5e5ac66335825c321666fe9564d1dbbd00ebbfe67f39d89ac133fcbd2b36b70 +size 47473 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png index f25169f387..1c9328d3b7 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewDarkPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce6cbcf47c5e76d72fd9bf15e5676510ac29a3087cc862c67ccd4f7de1f24359 -size 45546 +oid sha256:72bc2d1171ca0d80bfc4522bbbb15c5973dbae362351c344f9b25382da4831d0 +size 47701 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_0,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_0,NEXUS_5,1.0,en].png index 2fba27be05..c853807cec 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_0,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_0,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99e4c0fe8076952a490ab58807913984a9a6598b589c5e35bc9eececc741bf11 -size 44666 +oid sha256:603a9bc343feceb5c1f86a36dcfdca7edf71a150237419a16895d12247b032d2 +size 46271 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_1,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_1,NEXUS_5,1.0,en].png index 44e3aa48c1..0fded57a8e 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_1,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_1,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:46660a369ee182afbf49c5d8022fa79c4a358aee7e2aea83bdf08f66a16b5ff1 -size 45095 +oid sha256:b06f5cdf95f2850a488e71c24c9857eca7b62d147b46b77b3c2ffece75789491 +size 46682 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_2,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_2,NEXUS_5,1.0,en].png index 2fba27be05..1fb686f4d4 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_2,NEXUS_5,1.0,en].png +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.impl_null_DefaultGroup_MessagesViewLightPreview_0_null_2,NEXUS_5,1.0,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99e4c0fe8076952a490ab58807913984a9a6598b589c5e35bc9eececc741bf11 -size 44666 +oid sha256:b4a13a0332f1d5ce24824434cb909de2d2bf4af601e6924155d2a550d9e03ec0 +size 46634 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.textcomposer_null_DefaultGroup_TextComposerDarkPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.textcomposer_null_DefaultGroup_TextComposerDarkPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..72f00d3be0 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.textcomposer_null_DefaultGroup_TextComposerDarkPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7441f73e8567bbac360867f9b860621ec4766a67d5295d04cda45a09f942d0b5 +size 47865 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.textcomposer_null_DefaultGroup_TextComposerLightPreview_0_null,NEXUS_5,1.0,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.textcomposer_null_DefaultGroup_TextComposerLightPreview_0_null,NEXUS_5,1.0,en].png new file mode 100644 index 0000000000..4cb8b441f3 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.textcomposer_null_DefaultGroup_TextComposerLightPreview_0_null,NEXUS_5,1.0,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f44fe7919578afe43e77b414f294e2ae7f1761c9528feeab548303428bfeba43 +size 46117