From 67f8f29ad434fbec614483e267d0374058d1fc6a Mon Sep 17 00:00:00 2001 From: Michael Kaye <1917473+michaelkaye@users.noreply.github.com> Date: Wed, 8 Feb 2023 13:21:12 +0000 Subject: [PATCH 01/62] On nightly build, additionally upload a copy to browserstack for automation. --- .github/workflows/nightly.yml | 6 ++++++ .github/workflows/nightly_manual.yml | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d8a954d0f7..4d38d6e1dd 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -32,3 +32,9 @@ jobs: ELEMENT_ANDROID_NIGHTLY_KEYPASSWORD: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_KEYPASSWORD }} ELEMENT_ANDROID_NIGHTLY_STOREPASSWORD: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_STOREPASSWORD }} FIREBASE_TOKEN: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_FIREBASE_TOKEN }} + - name: Additionally upload Nightly APK to browserstack for testing + continue-on-error: true # don't block anything by this upload failing (for now) + run: curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_PASSWORD" -X POST "https://api-cloud.browserstack.com/app-automate/upload" -F "file=@app/build/outputs/apk/nightly/app-nightly.apk" -F "custom_id=eax-nightly" + env: + BROWSERSTACK_USERNAME: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_USERNAME }} + BROWSERSTACK_PASSWORD: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_ACCESS_KEY }} diff --git a/.github/workflows/nightly_manual.yml b/.github/workflows/nightly_manual.yml index dfee78855a..b3f2cb5940 100644 --- a/.github/workflows/nightly_manual.yml +++ b/.github/workflows/nightly_manual.yml @@ -21,3 +21,10 @@ jobs: ELEMENT_ANDROID_NIGHTLY_KEYPASSWORD: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_KEYPASSWORD }} ELEMENT_ANDROID_NIGHTLY_STOREPASSWORD: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_STOREPASSWORD }} FIREBASE_TOKEN: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_FIREBASE_TOKEN }} + - name: Additionally upload Nightly APK to browserstack for testing + continue-on-error: true # don't block anything by this upload failing (for now) + run: curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_PASSWORD" -X POST "https://api-cloud.browserstack.com/app-automate/upload" -F "file=@app/build/outputs/apk/nightly/app-nightly.apk" -F "custom_id=eax-nightly" + env: + BROWSERSTACK_USERNAME: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_USERNAME }} + BROWSERSTACK_PASSWORD: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_ACCESS_KEY }} + From d83e224fd1595a13469738f119154fc55a7d9ed4 Mon Sep 17 00:00:00 2001 From: Michael Kaye <1917473+michaelkaye@users.noreply.github.com> Date: Fri, 10 Feb 2023 10:59:01 +0000 Subject: [PATCH 02/62] Rename custom ID in line with iOS name --- .github/workflows/nightly.yml | 2 +- .github/workflows/nightly_manual.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 4d38d6e1dd..4016af791a 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -34,7 +34,7 @@ jobs: FIREBASE_TOKEN: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_FIREBASE_TOKEN }} - name: Additionally upload Nightly APK to browserstack for testing continue-on-error: true # don't block anything by this upload failing (for now) - run: curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_PASSWORD" -X POST "https://api-cloud.browserstack.com/app-automate/upload" -F "file=@app/build/outputs/apk/nightly/app-nightly.apk" -F "custom_id=eax-nightly" + run: curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_PASSWORD" -X POST "https://api-cloud.browserstack.com/app-automate/upload" -F "file=@app/build/outputs/apk/nightly/app-nightly.apk" -F "custom_id=element-x-android-nightly" env: BROWSERSTACK_USERNAME: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_USERNAME }} BROWSERSTACK_PASSWORD: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_ACCESS_KEY }} diff --git a/.github/workflows/nightly_manual.yml b/.github/workflows/nightly_manual.yml index b3f2cb5940..6afc6aad9e 100644 --- a/.github/workflows/nightly_manual.yml +++ b/.github/workflows/nightly_manual.yml @@ -23,7 +23,7 @@ jobs: FIREBASE_TOKEN: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_FIREBASE_TOKEN }} - name: Additionally upload Nightly APK to browserstack for testing continue-on-error: true # don't block anything by this upload failing (for now) - run: curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_PASSWORD" -X POST "https://api-cloud.browserstack.com/app-automate/upload" -F "file=@app/build/outputs/apk/nightly/app-nightly.apk" -F "custom_id=eax-nightly" + run: curl -u "$BROWSERSTACK_USERNAME:$BROWSERSTACK_PASSWORD" -X POST "https://api-cloud.browserstack.com/app-automate/upload" -F "file=@app/build/outputs/apk/nightly/app-nightly.apk" -F "custom_id=element-x-android-nightly" env: BROWSERSTACK_USERNAME: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_USERNAME }} BROWSERSTACK_PASSWORD: ${{ secrets.ELEMENT_ANDROID_BROWSERSTACK_ACCESS_KEY }} From 9edf7159119e0514cf4852a50b65e6398b29cbbe Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 13:44:47 +0100 Subject: [PATCH 03/62] Naming convention. View / Content --- .../io/element/android/features/roomlist/RoomListView.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt index 3ed5edcf63..054898ab5a 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt @@ -64,7 +64,7 @@ fun RoomListView( state.eventSink(RoomListEvents.UpdateVisibleRange(range)) } - RoomListView( + RoomListContent( roomSummaries = state.roomList, matrixUser = state.matrixUser, filter = state.filter, @@ -78,7 +78,7 @@ fun RoomListView( @OptIn(ExperimentalMaterial3Api::class) @Composable -fun RoomListView( +fun RoomListContent( roomSummaries: ImmutableList, matrixUser: MatrixUser?, filter: String, @@ -165,7 +165,7 @@ fun RoomListViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { - RoomListView( + RoomListContent( roomSummaries = stubbedRoomSummaries(), matrixUser = MatrixUser(id = UserId("@id"), username = "User#1", avatarData = AvatarData("U")), onRoomClicked = {}, From a77479ed05dca200d46a3dcc94776e7de5ac27d6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 14:57:50 +0100 Subject: [PATCH 04/62] Remove dead code --- .../kotlin/io/element/android/x/root/RootPresenter.kt | 8 -------- .../kotlin/io/element/android/x/root/RootState.kt | 3 --- .../io/element/android/x/root/RootPresenterTest.kt | 11 +---------- 3 files changed, 1 insertion(+), 21 deletions(-) diff --git a/app/src/main/kotlin/io/element/android/x/root/RootPresenter.kt b/app/src/main/kotlin/io/element/android/x/root/RootPresenter.kt index 63881df5ae..05457e463e 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootPresenter.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootPresenter.kt @@ -19,29 +19,23 @@ package io.element.android.x.root import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable -import io.element.android.features.rageshake.bugreport.BugReportPresenter import io.element.android.features.rageshake.crash.ui.CrashDetectionPresenter import io.element.android.features.rageshake.detection.RageshakeDetectionPresenter import io.element.android.libraries.architecture.Presenter import javax.inject.Inject class RootPresenter @Inject constructor( - private val bugReportPresenter: BugReportPresenter, private val crashDetectionPresenter: CrashDetectionPresenter, private val rageshakeDetectionPresenter: RageshakeDetectionPresenter, ) : Presenter { @Composable override fun present(): RootState { - val isBugReportVisible = rememberSaveable { - mutableStateOf(false) - } val isShowkaseButtonVisible = rememberSaveable { mutableStateOf(true) } val rageshakeDetectionState = rageshakeDetectionPresenter.present() val crashDetectionState = crashDetectionPresenter.present() - val bugReportState = bugReportPresenter.present() fun handleEvent(event: RootEvents) { when (event) { @@ -50,11 +44,9 @@ class RootPresenter @Inject constructor( } return RootState( - isBugReportVisible = isBugReportVisible.value, isShowkaseButtonVisible = isShowkaseButtonVisible.value, rageshakeDetectionState = rageshakeDetectionState, crashDetectionState = crashDetectionState, - bugReportState = bugReportState, eventSink = ::handleEvent ) } diff --git a/app/src/main/kotlin/io/element/android/x/root/RootState.kt b/app/src/main/kotlin/io/element/android/x/root/RootState.kt index 6d516c5c70..4f6b4c2062 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootState.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootState.kt @@ -17,16 +17,13 @@ package io.element.android.x.root import androidx.compose.runtime.Stable -import io.element.android.features.rageshake.bugreport.BugReportState import io.element.android.features.rageshake.crash.ui.CrashDetectionState import io.element.android.features.rageshake.detection.RageshakeDetectionState @Stable data class RootState( - val isBugReportVisible: Boolean, val isShowkaseButtonVisible: Boolean, val rageshakeDetectionState: RageshakeDetectionState, val crashDetectionState: CrashDetectionState, - val bugReportState: BugReportState, val eventSink: (RootEvents) -> Unit ) diff --git a/app/src/test/kotlin/io/element/android/x/root/RootPresenterTest.kt b/app/src/test/kotlin/io/element/android/x/root/RootPresenterTest.kt index 3f5a18d567..0e3c6ce866 100644 --- a/app/src/test/kotlin/io/element/android/x/root/RootPresenterTest.kt +++ b/app/src/test/kotlin/io/element/android/x/root/RootPresenterTest.kt @@ -22,12 +22,10 @@ import app.cash.molecule.RecompositionClock import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat -import io.element.android.features.rageshake.bugreport.BugReportPresenter import io.element.android.features.rageshake.crash.ui.CrashDetectionPresenter import io.element.android.features.rageshake.detection.RageshakeDetectionPresenter import io.element.android.features.rageshake.preferences.RageshakePreferencesPresenter import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest import org.junit.Test @@ -58,17 +56,11 @@ class RootPresenterTest { } } - private fun TestScope.createPresenter(): RootPresenter { + private fun createPresenter(): RootPresenter { val crashDataStore = FakeCrashDataStore() val rageshakeDataStore = FakeRageshakeDataStore() val rageshake = FakeRageShake() val screenshotHolder = FakeScreenshotHolder() - val bugReportPresenter = BugReportPresenter( - bugReporter = FakeBugReporter(), - crashDataStore = crashDataStore, - screenshotHolder = screenshotHolder, - appCoroutineScope = this, - ) val crashDetectionPresenter = CrashDetectionPresenter( crashDataStore = crashDataStore ) @@ -81,7 +73,6 @@ class RootPresenterTest { ) ) return RootPresenter( - bugReportPresenter = bugReportPresenter, crashDetectionPresenter = crashDetectionPresenter, rageshakeDetectionPresenter = rageshakeDetectionPresenter, ) From 0f0c001c3c3c37e8639bc0bc688880e012d43fae Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 15:22:16 +0100 Subject: [PATCH 05/62] Enforce no default value in state. --- .../login/changeserver/ChangeServerState.kt | 12 ++++++++--- .../login/changeserver/ChangeServerView.kt | 2 +- .../features/login/root/LoginRootScreen.kt | 2 +- .../features/login/root/LoginRootState.kt | 15 +++++++++---- .../features/logout/LogoutPreferenceScreen.kt | 2 +- .../features/logout/LogoutPreferenceState.kt | 9 ++++++-- .../preferences/root/PreferencesRootState.kt | 8 +++++++ .../preferences/root/PreferencesRootView.kt | 10 +-------- .../rageshake/bugreport/BugReportState.kt | 21 +++++++++++++------ .../rageshake/bugreport/BugReportView.kt | 2 +- .../crash/ui/CrashDetectionScreen.kt | 2 +- .../rageshake/crash/ui/CrashDetectionState.kt | 9 ++++++-- .../detection/RageshakeDetectionState.kt | 19 ++++++++++++----- .../preferences/RageshakePreferencesState.kt | 15 +++++++++---- .../preferences/RageshakePreferencesView.kt | 4 ++-- .../features/template/TemplateState.kt | 7 ++++++- .../android/features/template/TemplateView.kt | 2 +- 17 files changed, 97 insertions(+), 44 deletions(-) diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerState.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerState.kt index 9c1b9ac7e2..99968a908b 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerState.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerState.kt @@ -19,9 +19,15 @@ package io.element.android.features.login.changeserver import io.element.android.libraries.architecture.Async data class ChangeServerState( - val homeserver: String = "", - val changeServerAction: Async = Async.Uninitialized, - val eventSink: (ChangeServerEvents) -> Unit = {}, + val homeserver: String, + val changeServerAction: Async, + val eventSink: (ChangeServerEvents) -> Unit, ) { val submitEnabled = homeserver.isNotEmpty() && changeServerAction !is Async.Loading } + +fun aChangeServerState() = ChangeServerState( + homeserver = "", + changeServerAction = Async.Uninitialized, + eventSink = {} +) diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt index 32fdeedb1d..0e1793a3f2 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt @@ -188,6 +188,6 @@ fun ChangeServerViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { ChangeServerView( - state = ChangeServerState(homeserver = "matrix.org"), + state = aChangeServerState().copy(homeserver = "matrix.org"), ) } diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt index 052de92a52..c79fe1d261 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt @@ -230,7 +230,7 @@ fun LoginRootScreenDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { LoginRootScreen( - state = LoginRootState( + state = aLoginRootState().copy( homeserver = "matrix.org", ), ) diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt index fab74370f0..e52e8d5664 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt @@ -21,10 +21,10 @@ import io.element.android.libraries.matrix.core.SessionId import kotlinx.parcelize.Parcelize data class LoginRootState( - val homeserver: String = "", - val loggedInState: LoggedInState = LoggedInState.NotLoggedIn, - val formState: LoginFormState = LoginFormState.Default, - val eventSink: (LoginRootEvents) -> Unit = {} + val homeserver: String, + val loggedInState: LoggedInState, + val formState: LoginFormState, + val eventSink: (LoginRootEvents) -> Unit ) { val submitEnabled = formState.login.isNotEmpty() && formState.password.isNotEmpty() && loggedInState != LoggedInState.LoggingIn @@ -47,3 +47,10 @@ data class LoginFormState( val Default = LoginFormState("", "") } } + +fun aLoginRootState() = LoginRootState( + homeserver = "", + loggedInState = LoggedInState.NotLoggedIn, + formState = LoginFormState.Default, + eventSink = {} +) diff --git a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceScreen.kt b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceScreen.kt index 2134311672..02706670f0 100644 --- a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceScreen.kt +++ b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceScreen.kt @@ -100,5 +100,5 @@ fun LogoutPreferenceViewDarkPreview() = ElementPreviewDark { ContentToPreview() @Composable private fun ContentToPreview() { - LogoutPreferenceView(LogoutPreferenceState()) + LogoutPreferenceView(aLogoutPreferenceState()) } diff --git a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceState.kt b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceState.kt index e594a04870..104721bd44 100644 --- a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceState.kt +++ b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceState.kt @@ -19,6 +19,11 @@ package io.element.android.features.logout import io.element.android.libraries.architecture.Async data class LogoutPreferenceState( - val logoutAction: Async = Async.Uninitialized, - val eventSink: (LogoutPreferenceEvents) -> Unit = {}, + val logoutAction: Async, + val eventSink: (LogoutPreferenceEvents) -> Unit, +) + +fun aLogoutPreferenceState() = LogoutPreferenceState( + logoutAction = Async.Uninitialized, + eventSink = {} ) diff --git a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootState.kt b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootState.kt index 2bcc9fc549..d8d9aebb28 100644 --- a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootState.kt +++ b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootState.kt @@ -17,7 +17,9 @@ package io.element.android.features.preferences.root import io.element.android.features.logout.LogoutPreferenceState +import io.element.android.features.logout.aLogoutPreferenceState import io.element.android.features.rageshake.preferences.RageshakePreferencesState +import io.element.android.features.rageshake.preferences.aRageshakePreferencesState import io.element.android.libraries.architecture.Async import io.element.android.libraries.matrix.ui.model.MatrixUser @@ -26,3 +28,9 @@ data class PreferencesRootState( val rageshakeState: RageshakePreferencesState, val myUser: Async, ) + +fun aPreferencesRootState() = PreferencesRootState( + logoutState = aLogoutPreferenceState(), + rageshakeState = aRageshakePreferencesState(), + myUser = Async.Uninitialized +) diff --git a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt index bd8bda3e40..d781d1cec3 100644 --- a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt +++ b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt @@ -20,12 +20,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview -import io.element.android.features.logout.LogoutPreferenceState import io.element.android.features.logout.LogoutPreferenceView import io.element.android.features.preferences.user.UserPreferences -import io.element.android.features.rageshake.preferences.RageshakePreferencesState import io.element.android.features.rageshake.preferences.RageshakePreferencesView -import io.element.android.libraries.architecture.Async import io.element.android.libraries.designsystem.components.preferences.PreferenceView import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight @@ -66,10 +63,5 @@ fun PreferencesRootViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { - val state = PreferencesRootState( - logoutState = LogoutPreferenceState(), - rageshakeState = RageshakePreferencesState(), - myUser = Async.Uninitialized - ) - PreferencesRootView(state) + PreferencesRootView(aPreferencesRootState()) } diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportState.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportState.kt index 1f66bb58eb..6fb41a9e88 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportState.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportState.kt @@ -21,12 +21,12 @@ import io.element.android.libraries.architecture.Async import kotlinx.parcelize.Parcelize data class BugReportState( - val formState: BugReportFormState = BugReportFormState.Default, - val hasCrashLogs: Boolean = false, - val screenshotUri: String? = null, - val sendingProgress: Float = 0F, - val sending: Async = Async.Uninitialized, - val eventSink: (BugReportEvents) -> Unit = {} + val formState: BugReportFormState, + val hasCrashLogs: Boolean, + val screenshotUri: String?, + val sendingProgress: Float, + val sending: Async, + val eventSink: (BugReportEvents) -> Unit ) { val submitEnabled = formState.description.length > 10 && sending !is Async.Loading @@ -50,3 +50,12 @@ data class BugReportFormState( ) } } + +fun aBugReportState() = BugReportState( + formState = BugReportFormState.Default, + hasCrashLogs = false, + screenshotUri = null, + sendingProgress = 0F, + sending = Async.Uninitialized, + eventSink = {} +) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt index f2fbd7f8f5..1ebc9c83e7 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt @@ -218,6 +218,6 @@ fun BugReportViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { BugReportView( - state = BugReportState(), + state = aBugReportState(), ) } diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt index fb1a6b2d50..3c0bf63473 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt @@ -78,6 +78,6 @@ fun CrashDetectionContentDarkPreview() = ElementPreviewDark { ContentToPreview() @Composable private fun ContentToPreview() { CrashDetectionContent( - state = CrashDetectionState() + state = aCrashDetectionState() ) } diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionState.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionState.kt index bff17b246a..a49d996a05 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionState.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionState.kt @@ -17,6 +17,11 @@ package io.element.android.features.rageshake.crash.ui data class CrashDetectionState( - val crashDetected: Boolean = false, - val eventSink: (CrashDetectionEvents) -> Unit = {} + val crashDetected: Boolean, + val eventSink: (CrashDetectionEvents) -> Unit +) + +fun aCrashDetectionState() = CrashDetectionState( + crashDetected = false, + eventSink = {} ) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionState.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionState.kt index 4c99ef264b..738282f737 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionState.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionState.kt @@ -18,12 +18,21 @@ package io.element.android.features.rageshake.detection import androidx.compose.runtime.Stable import io.element.android.features.rageshake.preferences.RageshakePreferencesState +import io.element.android.features.rageshake.preferences.aRageshakePreferencesState @Stable data class RageshakeDetectionState( - val takeScreenshot: Boolean = false, - val showDialog: Boolean = false, - val isStarted: Boolean = false, - val preferenceState: RageshakePreferencesState = RageshakePreferencesState(), - val eventSink: (RageshakeDetectionEvents) -> Unit = {} + val takeScreenshot: Boolean, + val showDialog: Boolean, + val isStarted: Boolean, + val preferenceState: RageshakePreferencesState, + val eventSink: (RageshakeDetectionEvents) -> Unit +) + +fun aRageshakeDetectionState() = RageshakeDetectionState( + takeScreenshot = false, + showDialog = false, + isStarted = false, + preferenceState = aRageshakePreferencesState(), + eventSink = {} ) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesState.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesState.kt index e6c45ddf83..cb33d37623 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesState.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesState.kt @@ -17,8 +17,15 @@ package io.element.android.features.rageshake.preferences data class RageshakePreferencesState( - val isEnabled: Boolean = false, - val isSupported: Boolean = true, - val sensitivity: Float = 0.3f, - val eventSink: (RageshakePreferencesEvents) -> Unit = {}, + val isEnabled: Boolean, + val isSupported: Boolean, + val sensitivity: Float, + val eventSink: (RageshakePreferencesEvents) -> Unit, +) + +fun aRageshakePreferencesState() = RageshakePreferencesState( + isEnabled = false, + isSupported = true, + sensitivity = 0.3f, + eventSink = {} ) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt index 815340b8b2..c4d3d39be8 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt @@ -85,7 +85,7 @@ fun RageshakePreferencesViewDarkPreview() = ElementPreviewDark { ContentToPrevie @Composable private fun ContentToPreview() { - RageshakePreferencesView(RageshakePreferencesState(isEnabled = true, isSupported = true, sensitivity = 0.5f)) + RageshakePreferencesView(aRageshakePreferencesState().copy(isEnabled = true, isSupported = true, sensitivity = 0.5f)) } @Preview @@ -98,5 +98,5 @@ fun RageshakePreferencesViewNotSupportedDarkPreview() = ElementPreviewDark { Con @Composable private fun ContentNotSupportedToPreview() { - RageshakePreferencesView(RageshakePreferencesState(isEnabled = true, isSupported = false, sensitivity = 0.5f)) + RageshakePreferencesView(aRageshakePreferencesState().copy(isEnabled = true, isSupported = false, sensitivity = 0.5f)) } diff --git a/features/template/src/main/kotlin/io/element/android/features/template/TemplateState.kt b/features/template/src/main/kotlin/io/element/android/features/template/TemplateState.kt index 8bb7f91ae3..c97954173a 100644 --- a/features/template/src/main/kotlin/io/element/android/features/template/TemplateState.kt +++ b/features/template/src/main/kotlin/io/element/android/features/template/TemplateState.kt @@ -17,6 +17,11 @@ package io.element.android.features.template // TODO add your ui models. Remove the eventSink if you don't have events. +// Do not use default value, so no member get forgotten in the presenters. data class TemplateState( - val eventSink: (TemplateEvents) -> Unit = {} + val eventSink: (TemplateEvents) -> Unit +) + +fun aTemplateState() = TemplateState( + eventSink = {} ) diff --git a/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt b/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt index 8069b3a991..e37263e296 100644 --- a/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt +++ b/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt @@ -50,6 +50,6 @@ fun TemplateViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { TemplateView( - state = TemplateState(), + state = aTemplateState(), ) } From fe44c8906d602437c53805e9f80e38344c67acb6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 16:05:11 +0100 Subject: [PATCH 06/62] Add some Preview --- .../io/element/android/x/root/RootState.kt | 9 +++ .../io/element/android/x/root/RootView.kt | 29 +++++++++ .../android/features/messages/MessagesView.kt | 44 ++++++++++++- .../messages/actionlist/ActionListState.kt | 5 ++ .../messages/actionlist/ActionListView.kt | 65 +++++++++++++++++-- .../textcomposer/MessageComposerState.kt | 7 ++ .../messages/timeline/TimelineState.kt | 8 +++ .../messages/timeline/TimelineView.kt | 40 +++++++----- .../android/features/roomlist/RoomListView.kt | 14 ++-- .../features/roomlist/model/RoomListState.kt | 8 +++ .../utils/BooleanPreviewParameter.kt | 24 +++++++ ...ntentLoadingDarkPreview_,NEXUS_5,1,en].png | 3 + ...tentLoadingLightPreview_,NEXUS_5,1,en].png | 3 + ...tContentNoneDarkPreview_,NEXUS_5,1,en].png | 3 + ...ContentNoneLightPreview_,NEXUS_5,1,en].png | 3 + ...ntentSuccessDarkPreview_,NEXUS_5,1,en].png | 3 + ...tentSuccessLightPreview_,NEXUS_5,1,en].png | 3 + ...MessagesViewDarkPreview_,NEXUS_5,1,en].png | 3 + ...essagesViewLightPreview_,NEXUS_5,1,en].png | 3 + 19 files changed, 248 insertions(+), 29 deletions(-) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameter.kt create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingLightPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneLightPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_,NEXUS_5,1,en].png diff --git a/app/src/main/kotlin/io/element/android/x/root/RootState.kt b/app/src/main/kotlin/io/element/android/x/root/RootState.kt index 4f6b4c2062..d663b3c7c2 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootState.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootState.kt @@ -18,7 +18,9 @@ package io.element.android.x.root import androidx.compose.runtime.Stable import io.element.android.features.rageshake.crash.ui.CrashDetectionState +import io.element.android.features.rageshake.crash.ui.aCrashDetectionState import io.element.android.features.rageshake.detection.RageshakeDetectionState +import io.element.android.features.rageshake.detection.aRageshakeDetectionState @Stable data class RootState( @@ -27,3 +29,10 @@ data class RootState( val crashDetectionState: CrashDetectionState, val eventSink: (RootEvents) -> Unit ) + +fun aRootState() = RootState( + isShowkaseButtonVisible = false, + rageshakeDetectionState = aRageshakeDetectionState(), + crashDetectionState = aCrashDetectionState(), + eventSink = {} +) diff --git a/app/src/main/kotlin/io/element/android/x/root/RootView.kt b/app/src/main/kotlin/io/element/android/x/root/RootView.kt index f8cbdea24f..68a0816419 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootView.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootView.kt @@ -24,10 +24,18 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.features.rageshake.crash.ui.CrashDetectionEvents import io.element.android.features.rageshake.crash.ui.CrashDetectionView +import io.element.android.features.rageshake.crash.ui.aCrashDetectionState import io.element.android.features.rageshake.detection.RageshakeDetectionEvents import io.element.android.features.rageshake.detection.RageshakeDetectionView +import io.element.android.features.rageshake.detection.aRageshakeDetectionState +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.utils.BooleanPreviewParameter import io.element.android.tests.uitests.openShowkase import io.element.android.x.component.ShowkaseButton @@ -68,3 +76,24 @@ fun RootView( ) } } + +@Preview +@Composable +fun RootLightPreview(@PreviewParameter(BooleanPreviewParameter::class) dialogType: Boolean) = ElementPreviewLight { ContentToPreview(dialogType) } + +@Preview +@Composable +fun RootDarkPreview(@PreviewParameter(BooleanPreviewParameter::class) dialogType: Boolean) = ElementPreviewDark { ContentToPreview(dialogType) } + +@Composable +private fun ContentToPreview(dialogType: Boolean) { + RootView( + aRootState().copy( + isShowkaseButtonVisible = true, + rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = dialogType), + crashDetectionState = aCrashDetectionState().copy(crashDetected = !dialogType), + ) + ) { + Text("Children") + } +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt index e19fc869fa..05e788a02b 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt @@ -49,22 +49,33 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import io.element.android.features.messages.actionlist.ActionListEvents import io.element.android.features.messages.actionlist.ActionListView +import io.element.android.features.messages.actionlist.anActionListState import io.element.android.features.messages.actionlist.model.TimelineItemAction import io.element.android.features.messages.textcomposer.MessageComposerView +import io.element.android.features.messages.textcomposer.aMessageComposerState import io.element.android.features.messages.timeline.TimelineView +import io.element.android.features.messages.timeline.aTimelineState +import io.element.android.features.messages.timeline.createTimelineItemContent +import io.element.android.features.messages.timeline.createTimelineItems import io.element.android.features.messages.timeline.model.TimelineItem +import io.element.android.libraries.core.data.StableCharSequence import io.element.android.libraries.designsystem.components.avatar.Avatar import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.IconButton 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 import io.element.android.libraries.designsystem.utils.LogCompositions +import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.textcomposer.MessageComposerMode import kotlinx.coroutines.launch import timber.log.Timber @@ -72,7 +83,7 @@ import timber.log.Timber fun MessagesView( state: MessagesState, modifier: Modifier = Modifier, - onBackPressed: () -> Unit, + onBackPressed: () -> Unit = {}, ) { LogCompositions(tag = "MessagesScreen", msg = "Root") val itemActionsBottomSheetState = rememberModalBottomSheetState( @@ -197,6 +208,35 @@ fun MessagesViewTopBar( ) } } - + ) +} + +@Preview +@Composable +fun MessagesViewLightPreview() = ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +fun MessagesViewDarkPreview() = ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + MessagesView( + MessagesState( + roomId = RoomId(""), + roomName = "Room name", + roomAvatar = AvatarData("Room name"), + composerState = aMessageComposerState().copy( + text = StableCharSequence("Hello"), + isFullScreen = false, + mode = MessageComposerMode.Normal("Hello"), + ), + timelineState = aTimelineState().copy( + timelineItems = createTimelineItems(createTimelineItemContent()), + hasMoreToLoad = false, + ), + actionListState = anActionListState(), + eventSink = {} + ) ) } diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListState.kt index 6bc7630ec8..324003c68b 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListState.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListState.kt @@ -36,3 +36,8 @@ data class ActionListState( ) : Target } } + +fun anActionListState() = ActionListState( + target = ActionListState.Target.None, + eventSink = {} +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt index f2fe33f1c7..d6cd1578d2 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt @@ -28,7 +28,6 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.ListItem -import androidx.compose.material.LocalContentColor import androidx.compose.material.ModalBottomSheetState import androidx.compose.material.ModalBottomSheetValue import androidx.compose.material.Text @@ -38,12 +37,16 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import io.element.android.features.messages.actionlist.model.TimelineItemAction +import io.element.android.features.messages.timeline.createMessageEvent import io.element.android.features.messages.timeline.model.TimelineItem import io.element.android.libraries.designsystem.components.VectorIcon +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.ModalBottomSheetLayout +import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.flow.filter import kotlinx.coroutines.launch @@ -115,13 +118,13 @@ private fun SheetContent( text = { Text( text = action.title, - color = if (action.destructive) MaterialTheme.colorScheme.error else Color.Unspecified, + color = if (action.destructive) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.primary, ) }, icon = { VectorIcon( resourceId = action.icon, - tint = if (action.destructive) MaterialTheme.colorScheme.error else LocalContentColor.current, + tint = if (action.destructive) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.primary, ) } ) @@ -130,3 +133,57 @@ private fun SheetContent( } } } + +@Preview +@Composable +fun SheetContentNoneLightPreview() = ElementPreviewLight { ContentNoneToPreview() } + +@Preview +@Composable +fun SheetContentNoneDarkPreview() = ElementPreviewDark { ContentNoneToPreview() } + +@Composable +private fun ContentNoneToPreview() { + SheetContent(anActionListState()) +} + +@Preview +@Composable +fun SheetContentLoadingLightPreview() = ElementPreviewLight { ContentLoadingToPreview() } + +@Preview +@Composable +fun SheetContentLoadingDarkPreview() = ElementPreviewDark { ContentLoadingToPreview() } + +@Composable +private fun ContentLoadingToPreview() { + SheetContent( + anActionListState().copy(target = ActionListState.Target.Loading(createMessageEvent())) + ) +} + +@Preview +@Composable +fun SheetContentSuccessLightPreview() = ElementPreviewLight { ContentSuccessToPreview() } + +@Preview +@Composable +fun SheetContentSuccessDarkPreview() = ElementPreviewDark { ContentSuccessToPreview() } + +@Composable +private fun ContentSuccessToPreview() { + SheetContent( + anActionListState().copy( + target = ActionListState.Target.Success( + messageEvent = createMessageEvent(), + actions = persistentListOf( + TimelineItemAction.Reply, + TimelineItemAction.Forward, + TimelineItemAction.Copy, + TimelineItemAction.Edit, + TimelineItemAction.Redact, + ) + ) + ) + ) +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerState.kt index 2b5396cb9e..7e37e83ff7 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerState.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerState.kt @@ -29,3 +29,10 @@ data class MessageComposerState( ) { val isSendButtonVisible: Boolean = text?.charSequence.isNullOrEmpty().not() } + +fun aMessageComposerState() = MessageComposerState( + text = StableCharSequence(""), + isFullScreen = false, + mode = MessageComposerMode.Normal(content = ""), + eventSink = {} +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt index 6b8c715f5d..a3ae9b3a72 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt @@ -20,6 +20,7 @@ import androidx.compose.runtime.Immutable import io.element.android.features.messages.timeline.model.TimelineItem import io.element.android.libraries.matrix.core.EventId import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf @Immutable data class TimelineState( @@ -28,3 +29,10 @@ data class TimelineState( val highlightedEventId: EventId?, val eventSink: (TimelineEvents) -> Unit ) + +fun aTimelineState() = TimelineState( + timelineItems = persistentListOf(), + hasMoreToLoad = false, + highlightedEventId = null, + eventSink = {} +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt index bc8a02c30b..c3b9d27b7b 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt @@ -64,7 +64,6 @@ import io.element.android.features.messages.timeline.components.TimelineItemUnkn import io.element.android.features.messages.timeline.model.AggregatedReaction import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition import io.element.android.features.messages.timeline.model.TimelineItem -import io.element.android.features.messages.timeline.model.TimelineItemGroupPositionProvider import io.element.android.features.messages.timeline.model.TimelineItemReactions import io.element.android.features.messages.timeline.model.content.MessagesTimelineItemContentProvider import io.element.android.features.messages.timeline.model.content.TimelineItemContent @@ -72,6 +71,7 @@ import io.element.android.features.messages.timeline.model.content.TimelineItemE import io.element.android.features.messages.timeline.model.content.TimelineItemImageContent import io.element.android.features.messages.timeline.model.content.TimelineItemRedactedContent import io.element.android.features.messages.timeline.model.content.TimelineItemTextBasedContent +import io.element.android.features.messages.timeline.model.content.TimelineItemTextContent import io.element.android.features.messages.timeline.model.content.TimelineItemUnknownContent import io.element.android.libraries.designsystem.components.avatar.Avatar import io.element.android.libraries.designsystem.components.avatar.AvatarData @@ -81,7 +81,6 @@ import io.element.android.libraries.designsystem.theme.components.CircularProgre import io.element.android.libraries.designsystem.theme.components.FloatingActionButton import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.designsystem.utils.PairCombinedPreviewParameter import io.element.android.libraries.matrix.core.EventId import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf @@ -366,7 +365,17 @@ fun LoginRootScreenDarkPreview( @Composable private fun ContentToPreview(content: TimelineItemContent) { - val timelineItems = persistentListOf( + val timelineItems = createTimelineItems(content) + TimelineView( + state = aTimelineState().copy( + timelineItems = timelineItems, + hasMoreToLoad = true, + ) + ) +} + +internal fun createTimelineItems(content: TimelineItemContent): ImmutableList { + return persistentListOf( // 3 items (First Middle Last) with isMine = false createMessageEvent( isMine = false, @@ -400,21 +409,13 @@ private fun ContentToPreview(content: TimelineItemContent) { groupPosition = MessagesItemGroupPosition.First ), ) - TimelineView( - state = TimelineState( - timelineItems = timelineItems, - hasMoreToLoad = true, - highlightedEventId = null, - eventSink = {} - ) - ) } -private fun createMessageEvent( - isMine: Boolean, - content: TimelineItemContent, - groupPosition: MessagesItemGroupPosition -): TimelineItem { +internal fun createMessageEvent( + isMine: Boolean = false, + content: TimelineItemContent = createTimelineItemContent(), + groupPosition: MessagesItemGroupPosition = MessagesItemGroupPosition.First +): TimelineItem.MessageEvent { return TimelineItem.MessageEvent( id = EventId(Math.random().toString()), senderId = "senderId", @@ -430,3 +431,10 @@ private fun createMessageEvent( groupPosition = groupPosition, ) } + +internal fun createTimelineItemContent(): TimelineItemContent { + return TimelineItemTextContent( + body = "Text", + htmlDocument = null + ) +} diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt index 054898ab5a..d163f60269 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt @@ -38,6 +38,7 @@ import io.element.android.features.roomlist.components.RoomSummaryRow import io.element.android.features.roomlist.model.RoomListEvents import io.element.android.features.roomlist.model.RoomListRoomSummary import io.element.android.features.roomlist.model.RoomListState +import io.element.android.features.roomlist.model.aRoomListState import io.element.android.features.roomlist.model.stubbedRoomSummaries import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.preview.ElementPreviewDark @@ -165,12 +166,11 @@ fun RoomListViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { - RoomListContent( - roomSummaries = stubbedRoomSummaries(), - matrixUser = MatrixUser(id = UserId("@id"), username = "User#1", avatarData = AvatarData("U")), - onRoomClicked = {}, - filter = "filter", - onFilterChanged = {}, - onScrollOver = {} + RoomListView( + aRoomListState().copy( + matrixUser = MatrixUser(id = UserId("@id"), username = "User#1", avatarData = AvatarData("U")), + roomList = stubbedRoomSummaries(), + filter = "filter", + ) ) } diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListState.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListState.kt index e9a48a7249..5e4d0947d1 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListState.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListState.kt @@ -19,6 +19,7 @@ package io.element.android.features.roomlist.model import androidx.compose.runtime.Immutable import io.element.android.libraries.matrix.ui.model.MatrixUser import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf @Immutable data class RoomListState( @@ -27,3 +28,10 @@ data class RoomListState( val filter: String, val eventSink: (RoomListEvents) -> Unit ) + +fun aRoomListState() = RoomListState( + matrixUser = null, + roomList = persistentListOf(), + filter = "", + eventSink = {} +) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameter.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameter.kt new file mode 100644 index 0000000000..d451862cac --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameter.kt @@ -0,0 +1,24 @@ +/* + * 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.utils + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider + +open class BooleanPreviewParameter : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf(false, true) +} diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..78003c0923 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a904cb92b66b66730f5ac1a81b46710668d440e702f5b51320ecf5a29823e47 +size 4471 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingLightPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingLightPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..78003c0923 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a904cb92b66b66730f5ac1a81b46710668d440e702f5b51320ecf5a29823e47 +size 4471 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneLightPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneLightPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..01574137c8 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce15df8f50bf352fa93f5682a23b255ba143c0665d29bc8b7d7ecd0f588011c9 +size 14736 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..72f7f8431a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37edc587d96587aab57013d09def27c807d247d78fa90a69cdcb8d7d9a0344ec +size 13676 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..41ef49e2ff --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:852dff8969883ccea1811254ea4d68c3f2c30a593ec8411d005b995bcb3ba816 +size 41570 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6956d1786b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81dc3835d7e7d836f7de9b8f509896ec09f2670a0816fbda3be41e82244efc62 +size 39078 From f6c371e533bbba5c02e966733865d9ff963de6fe Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 16:32:36 +0100 Subject: [PATCH 07/62] Create `RootStatePreviewParameter` --- .../io/element/android/x/root/RootView.kt | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/app/src/main/kotlin/io/element/android/x/root/RootView.kt b/app/src/main/kotlin/io/element/android/x/root/RootView.kt index 68a0816419..34bbae8bea 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootView.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootView.kt @@ -26,6 +26,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.rageshake.crash.ui.CrashDetectionEvents import io.element.android.features.rageshake.crash.ui.CrashDetectionView import io.element.android.features.rageshake.crash.ui.aCrashDetectionState @@ -35,7 +36,6 @@ import io.element.android.features.rageshake.detection.aRageshakeDetectionState 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.utils.BooleanPreviewParameter import io.element.android.tests.uitests.openShowkase import io.element.android.x.component.ShowkaseButton @@ -77,23 +77,33 @@ fun RootView( } } -@Preview -@Composable -fun RootLightPreview(@PreviewParameter(BooleanPreviewParameter::class) dialogType: Boolean) = ElementPreviewLight { ContentToPreview(dialogType) } - -@Preview -@Composable -fun RootDarkPreview(@PreviewParameter(BooleanPreviewParameter::class) dialogType: Boolean) = ElementPreviewDark { ContentToPreview(dialogType) } - -@Composable -private fun ContentToPreview(dialogType: Boolean) { - RootView( - aRootState().copy( - isShowkaseButtonVisible = true, - rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = dialogType), - crashDetectionState = aCrashDetectionState().copy(crashDetected = !dialogType), +open class RootStatePreviewParameter : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aRootState().copy( + isShowkaseButtonVisible = true, + rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = false), + crashDetectionState = aCrashDetectionState().copy(crashDetected = true), + ), + aRootState().copy( + isShowkaseButtonVisible = true, + rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = true), + crashDetectionState = aCrashDetectionState().copy(crashDetected = false), + ) ) - ) { +} + +@Preview +@Composable +fun RootLightPreview(@PreviewParameter(RootStatePreviewParameter::class) rootState: RootState) = ElementPreviewLight { ContentToPreview(rootState) } + +@Preview +@Composable +fun RootDarkPreview(@PreviewParameter(RootStatePreviewParameter::class) rootState: RootState) = ElementPreviewDark { ContentToPreview(rootState) } + +@Composable +private fun ContentToPreview(rootState: RootState) { + RootView(rootState) { Text("Children") } } From afe549915834c13ace9c81de5dc1f3728351d082 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 17:10:35 +0100 Subject: [PATCH 08/62] PreviewParameterProvider FTW --- .../io/element/android/x/root/RootView.kt | 6 +- .../messages/actionlist/ActionListView.kt | 81 ++++++++----------- .../preferences/RageshakePreferencesView.kt | 29 ++++--- ....kt => BooleanPreviewParameterProvider.kt} | 2 +- ...> PairCombinedPreviewParameterProvider.kt} | 2 +- .../matrix/ui/components/MatrixUserHeader.kt | 49 +++++------ 6 files changed, 73 insertions(+), 96 deletions(-) rename libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/{BooleanPreviewParameter.kt => BooleanPreviewParameterProvider.kt} (90%) rename libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/{PairCombinedPreviewParameter.kt => PairCombinedPreviewParameterProvider.kt} (94%) diff --git a/app/src/main/kotlin/io/element/android/x/root/RootView.kt b/app/src/main/kotlin/io/element/android/x/root/RootView.kt index 34bbae8bea..06e7c5b023 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootView.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootView.kt @@ -77,7 +77,7 @@ fun RootView( } } -open class RootStatePreviewParameter : PreviewParameterProvider { +open class RootStatePreviewParameterProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRootState().copy( @@ -95,11 +95,11 @@ open class RootStatePreviewParameter : PreviewParameterProvider { @Preview @Composable -fun RootLightPreview(@PreviewParameter(RootStatePreviewParameter::class) rootState: RootState) = ElementPreviewLight { ContentToPreview(rootState) } +fun RootLightPreview(@PreviewParameter(RootStatePreviewParameterProvider::class) rootState: RootState) = ElementPreviewLight { ContentToPreview(rootState) } @Preview @Composable -fun RootDarkPreview(@PreviewParameter(RootStatePreviewParameter::class) rootState: RootState) = ElementPreviewDark { ContentToPreview(rootState) } +fun RootDarkPreview(@PreviewParameter(RootStatePreviewParameterProvider::class) rootState: RootState) = ElementPreviewDark { ContentToPreview(rootState) } @Composable private fun ContentToPreview(rootState: RootState) { diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt index d6cd1578d2..d16d2a27f4 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt @@ -38,6 +38,8 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import io.element.android.features.messages.actionlist.model.TimelineItemAction import io.element.android.features.messages.timeline.createMessageEvent @@ -134,56 +136,37 @@ private fun SheetContent( } } -@Preview -@Composable -fun SheetContentNoneLightPreview() = ElementPreviewLight { ContentNoneToPreview() } - -@Preview -@Composable -fun SheetContentNoneDarkPreview() = ElementPreviewDark { ContentNoneToPreview() } - -@Composable -private fun ContentNoneToPreview() { - SheetContent(anActionListState()) -} - -@Preview -@Composable -fun SheetContentLoadingLightPreview() = ElementPreviewLight { ContentLoadingToPreview() } - -@Preview -@Composable -fun SheetContentLoadingDarkPreview() = ElementPreviewDark { ContentLoadingToPreview() } - -@Composable -private fun ContentLoadingToPreview() { - SheetContent( - anActionListState().copy(target = ActionListState.Target.Loading(createMessageEvent())) - ) -} - -@Preview -@Composable -fun SheetContentSuccessLightPreview() = ElementPreviewLight { ContentSuccessToPreview() } - -@Preview -@Composable -fun SheetContentSuccessDarkPreview() = ElementPreviewDark { ContentSuccessToPreview() } - -@Composable -private fun ContentSuccessToPreview() { - SheetContent( - anActionListState().copy( - target = ActionListState.Target.Success( - messageEvent = createMessageEvent(), - actions = persistentListOf( - TimelineItemAction.Reply, - TimelineItemAction.Forward, - TimelineItemAction.Copy, - TimelineItemAction.Edit, - TimelineItemAction.Redact, +open class ActionListStatePreviewParameterProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + anActionListState(), + anActionListState().copy(target = ActionListState.Target.Loading(createMessageEvent())), + anActionListState().copy( + target = ActionListState.Target.Success( + messageEvent = createMessageEvent(), + actions = persistentListOf( + TimelineItemAction.Reply, + TimelineItemAction.Forward, + TimelineItemAction.Copy, + TimelineItemAction.Edit, + TimelineItemAction.Redact, + ) ) ) ) - ) +} + +@Preview +@Composable +fun SheetContentLightPreview(@PreviewParameter(ActionListStatePreviewParameterProvider::class) state: ActionListState) = + ElementPreviewLight { ContentToPreview(state) } + +@Preview +@Composable +fun SheetContentDarkPreview(@PreviewParameter(ActionListStatePreviewParameterProvider::class) state: ActionListState) = + ElementPreviewDark { ContentToPreview(state) } + +@Composable +private fun ContentToPreview(state: ActionListState) { + SheetContent(state) } diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt index c4d3d39be8..367f5cd694 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt @@ -23,6 +23,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory import io.element.android.libraries.designsystem.components.preferences.PreferenceSlide import io.element.android.libraries.designsystem.components.preferences.PreferenceSwitch @@ -75,28 +77,25 @@ fun RageshakePreferencesView( } } -@Preview -@Composable -fun RageshakePreferencesViewLightPreview() = ElementPreviewLight { ContentToPreview() } - -@Preview -@Composable -fun RageshakePreferencesViewDarkPreview() = ElementPreviewDark { ContentToPreview() } - -@Composable -private fun ContentToPreview() { - RageshakePreferencesView(aRageshakePreferencesState().copy(isEnabled = true, isSupported = true, sensitivity = 0.5f)) +open class RageshakePreferencesStatePreviewParameterProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aRageshakePreferencesState().copy(isEnabled = true, isSupported = true, sensitivity = 0.5f), + aRageshakePreferencesState().copy(isEnabled = true, isSupported = false, sensitivity = 0.5f), + ) } @Preview @Composable -fun RageshakePreferencesViewNotSupportedLightPreview() = ElementPreviewLight { ContentNotSupportedToPreview() } +fun RageshakePreferencesViewLightPreview(@PreviewParameter(RageshakePreferencesStatePreviewParameterProvider::class) state: RageshakePreferencesState) = + ElementPreviewLight { ContentToPreview(state) } @Preview @Composable -fun RageshakePreferencesViewNotSupportedDarkPreview() = ElementPreviewDark { ContentNotSupportedToPreview() } +fun RageshakePreferencesViewDarkPreview(@PreviewParameter(RageshakePreferencesStatePreviewParameterProvider::class) state: RageshakePreferencesState) = + ElementPreviewDark { ContentToPreview(state) } @Composable -private fun ContentNotSupportedToPreview() { - RageshakePreferencesView(aRageshakePreferencesState().copy(isEnabled = true, isSupported = false, sensitivity = 0.5f)) +private fun ContentToPreview(state: RageshakePreferencesState) { + RageshakePreferencesView(state) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameter.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameterProvider.kt similarity index 90% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameter.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameterProvider.kt index d451862cac..d74f24e6c1 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameter.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameterProvider.kt @@ -18,7 +18,7 @@ package io.element.android.libraries.designsystem.utils import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class BooleanPreviewParameter : PreviewParameterProvider { +open class BooleanPreviewParameterProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf(false, true) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameter.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameterProvider.kt similarity index 94% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameter.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameterProvider.kt index bf0a282f72..645d53b92e 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameter.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameterProvider.kt @@ -18,7 +18,7 @@ package io.element.android.libraries.designsystem.utils import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class PairCombinedPreviewParameter( +open class PairCombinedPreviewParameterProvider( private val provider: Pair, PreviewParameterProvider> ) : PreviewParameterProvider> { override val values: Sequence> diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt index e83c486476..fffe32d5c5 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt @@ -30,6 +30,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight 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.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import io.element.android.libraries.designsystem.components.avatar.Avatar @@ -68,7 +70,7 @@ fun MatrixUserHeader( maxLines = 1, overflow = TextOverflow.Ellipsis, color = MaterialTheme.colorScheme.primary, - ) + ) // Id if (matrixUser.username.isNullOrEmpty().not()) { Spacer(modifier = Modifier.height(4.dp)) @@ -83,40 +85,33 @@ fun MatrixUserHeader( } } -@Preview -@Composable -fun MatrixUserHeaderLightPreview() = ElementPreviewLight { ContentToPreview1() } - -@Preview -@Composable -fun MatrixUserHeaderDarkPreview() = ElementPreviewDark { ContentToPreview1() } - -@Composable -private fun ContentToPreview1() { - MatrixUserHeader( - MatrixUser( - id = UserId("@alice:server.org"), - username = "Alice", - avatarData = AvatarData("Alice") +open class MatrixUserPreviewParameterProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + MatrixUser( + id = UserId("@alice:server.org"), + username = "Alice", + avatarData = AvatarData("Alice") + ), + MatrixUser( + id = UserId("@alice:server.org"), + username = null, + avatarData = AvatarData("Alice") + ), ) - ) } @Preview @Composable -fun MatrixUserHeaderNoUserNameLightPreview() = ElementPreviewLight { ContentToPreview2() } +fun MatrixUserHeaderLightPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = + ElementPreviewLight { ContentToPreview(matrixUser) } @Preview @Composable -fun MatrixUserHeaderNoUserNameDarkPreview() = ElementPreviewDark { ContentToPreview2() } +fun MatrixUserHeaderDarkPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = + ElementPreviewDark { ContentToPreview(matrixUser) } @Composable -private fun ContentToPreview2() { - MatrixUserHeader( - MatrixUser( - id = UserId("@alice:server.org"), - username = null, - avatarData = AvatarData("Alice") - ) - ) +private fun ContentToPreview(matrixUser: MatrixUser) { + MatrixUserHeader(matrixUser) } From 6d7e7833a48e8038dfb2c974def869641e0bef9b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 17:20:35 +0100 Subject: [PATCH 09/62] Add `StringPreviewParameterProvider` --- .../utils/StringPreviewParameterProvider.kt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringPreviewParameterProvider.kt diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringPreviewParameterProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringPreviewParameterProvider.kt new file mode 100644 index 0000000000..64d77a1d9d --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringPreviewParameterProvider.kt @@ -0,0 +1,24 @@ +/* + * 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.utils + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider + +open class StringPreviewParameterProvider(val strings: List) : PreviewParameterProvider { + override val values: Sequence + get() = strings.asSequence() +} From 3bd7a79d89b214b30dd2567943c95309e13264c1 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 17:24:30 +0100 Subject: [PATCH 10/62] Add PreviewParameterProvider in the template. --- .../android/features/template/TemplateView.kt | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt b/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt index e37263e296..e6a70858ab 100644 --- a/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt +++ b/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt @@ -22,6 +22,8 @@ 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.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewParameterProvider 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 @@ -39,17 +41,27 @@ fun TemplateView( } } -@Preview -@Composable -fun TemplateViewLightPreview() = ElementPreviewLight { ContentToPreview() } +open class TemplateStatePreviewParameter : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aTemplateState(), + // Add other state here + ) +} @Preview @Composable -fun TemplateViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +fun TemplateViewLightPreview(@PreviewParameter(TemplateStatePreviewParameter::class) state: TemplateState) = + ElementPreviewLight { ContentToPreview(state) } + +@Preview +@Composable +fun TemplateViewDarkPreview(@PreviewParameter(TemplateStatePreviewParameter::class) state: TemplateState) = + ElementPreviewDark { ContentToPreview(state) } @Composable -private fun ContentToPreview() { +private fun ContentToPreview(state: TemplateState) { TemplateView( - state = aTemplateState(), + state = state, ) } From 700204df69f24f6e27fe6859bccfb9d08c463b6a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 21:51:32 +0100 Subject: [PATCH 11/62] Add preview for RoomListTopBar --- .../roomlist/components/RoomListTopBar.kt | 50 ++++++++++++++++--- ...eetContentDarkPreview__0,NEXUS_5,1,en].png | 3 ++ ...eetContentDarkPreview__1,NEXUS_5,1,en].png | 3 ++ ...eetContentDarkPreview__2,NEXUS_5,1,en].png | 3 ++ ...etContentLightPreview__0,NEXUS_5,1,en].png | 3 ++ ...etContentLightPreview__1,NEXUS_5,1,en].png | 3 ++ ...etContentLightPreview__2,NEXUS_5,1,en].png | 3 ++ ...rencesViewDarkPreview__0,NEXUS_5,1,en].png | 3 ++ ...rencesViewDarkPreview__1,NEXUS_5,1,en].png | 3 ++ ...encesViewLightPreview__0,NEXUS_5,1,en].png | 3 ++ ...encesViewLightPreview__1,NEXUS_5,1,en].png | 3 ++ ...omListTopBarDarkPreview_,NEXUS_5,1,en].png | 3 ++ ...mListTopBarLightPreview_,NEXUS_5,1,en].png | 3 ++ ...omListTopBarDarkPreview_,NEXUS_5,1,en].png | 3 ++ ...mListTopBarLightPreview_,NEXUS_5,1,en].png | 3 ++ 15 files changed, 84 insertions(+), 8 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_,NEXUS_5,1,en].png diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt index f622164af9..d742b3e3df 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt @@ -28,14 +28,11 @@ import androidx.compose.material.icons.filled.Search import androidx.compose.material.icons.filled.Settings import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarScrollBehavior -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember +import androidx.compose.material3.rememberTopAppBarState +import androidx.compose.runtime.* import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester @@ -43,9 +40,13 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.sp import io.element.android.libraries.designsystem.components.avatar.Avatar +import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.form.textFieldState +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.IconButton import io.element.android.libraries.designsystem.theme.components.MediumTopAppBar @@ -53,6 +54,7 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TextField import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.designsystem.utils.LogCompositions +import io.element.android.libraries.matrix.core.UserId import io.element.android.libraries.matrix.ui.model.MatrixUser import io.element.android.libraries.ui.strings.R as StringR @@ -170,13 +172,29 @@ fun SearchRoomListTopBar( } } +@Preview +@Composable +fun SearchRoomListTopBarLightPreview() = ElementPreviewLight { SearchRoomListTopBarPreview() } + +@Preview +@Composable +fun SearchRoomListTopBarDarkPreview() = ElementPreviewDark { SearchRoomListTopBarPreview() } + +@Composable +private fun SearchRoomListTopBarPreview() { + SearchRoomListTopBar( + text = "Hello", + scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(rememberTopAppBarState()), + ) +} + @Composable private fun DefaultRoomListTopBar( matrixUser: MatrixUser?, - onOpenSettings: () -> Unit, - onSearchClicked: () -> Unit, scrollBehavior: TopAppBarScrollBehavior, modifier: Modifier = Modifier, + onOpenSettings: () -> Unit = {}, + onSearchClicked: () -> Unit = {}, ) { MediumTopAppBar( modifier = modifier @@ -209,3 +227,19 @@ private fun DefaultRoomListTopBar( scrollBehavior = scrollBehavior, ) } + +@Preview +@Composable +fun DefaultRoomListTopBarLightPreview() = ElementPreviewLight { DefaultRoomListTopBarPreview() } + +@Preview +@Composable +fun DefaultRoomListTopBarDarkPreview() = ElementPreviewDark { DefaultRoomListTopBarPreview() } + +@Composable +private fun DefaultRoomListTopBarPreview() { + DefaultRoomListTopBar( + matrixUser = MatrixUser(UserId("id"), "Alice", AvatarData("Alice")), + scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(rememberTopAppBarState()), + ) +} diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..78003c0923 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a904cb92b66b66730f5ac1a81b46710668d440e702f5b51320ecf5a29823e47 +size 4471 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..78003c0923 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a904cb92b66b66730f5ac1a81b46710668d440e702f5b51320ecf5a29823e47 +size 4471 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..01574137c8 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce15df8f50bf352fa93f5682a23b255ba143c0665d29bc8b7d7ecd0f588011c9 +size 14736 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..72f7f8431a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37edc587d96587aab57013d09def27c807d247d78fa90a69cdcb8d7d9a0344ec +size 13676 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1d080b2c8b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c385c5b124217368b054e85e8313a0dac30274ea6fc08f9a71f60e80f547df0 +size 22589 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c408edcdc4 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eac040a95a0e551d61fb0a14c26190304ac97b8a575a0911812f3fdade88f0e6 +size 21014 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..0241c610bc --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07c3417b4b61c9c269e8701b0f48ee68f429882f9da53b2a6440c181b62083ec +size 21942 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b6139bebf3 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b5eacc8332a8ec38df9a710d60b9ec87ecab771c764f0ae5f4e7e7dc6fa7cd7 +size 19974 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e81f2be846 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0593681f6b353f6d3cf9e379cd8169babe4c4194febea38ff3dc8636b094514d +size 13516 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..d1d78d9245 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98daacc08f99a89974bd89b2647ca3e1ba2e17b84d562e1520b2e015c999bf70 +size 12509 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..2f2ac0e0c0 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3764d8bd7dc2783a8af43aad65a217d7e533ed17c4d4367b7994470bf35b62b0 +size 4462 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..2f2ac0e0c0 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3764d8bd7dc2783a8af43aad65a217d7e533ed17c4d4367b7994470bf35b62b0 +size 4462 From b439109d05f0e5734ca359c1a71b1266d972c49b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 22:07:39 +0100 Subject: [PATCH 12/62] Enable Showkase for matrixui --- libraries/matrixui/build.gradle.kts | 3 ++ .../matrix/ui/components/MatrixUserHeader.kt | 19 ---------- .../MatrixUserPreviewParameterProvider.kt | 38 +++++++++++++++++++ .../matrix/ui/components/MatrixUserRow.kt | 20 ++++------ ...UserHeaderDarkPreview__0,NEXUS_5,1,en].png | 3 ++ ...UserHeaderDarkPreview__1,NEXUS_5,1,en].png | 3 ++ ...serHeaderLightPreview__0,NEXUS_5,1,en].png | 3 ++ ...serHeaderLightPreview__1,NEXUS_5,1,en].png | 3 ++ ...atrixUserRowDarkPreview_,NEXUS_5,1,en].png | 3 ++ ...rixUserRowDarkPreview__0,NEXUS_5,1,en].png | 3 ++ ...rixUserRowDarkPreview__1,NEXUS_5,1,en].png | 3 ++ ...trixUserRowLightPreview_,NEXUS_5,1,en].png | 3 ++ ...ixUserRowLightPreview__0,NEXUS_5,1,en].png | 3 ++ ...ixUserRowLightPreview__1,NEXUS_5,1,en].png | 3 ++ 14 files changed, 79 insertions(+), 31 deletions(-) create mode 100644 libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png diff --git a/libraries/matrixui/build.gradle.kts b/libraries/matrixui/build.gradle.kts index 38004098ca..39b2b677d8 100644 --- a/libraries/matrixui/build.gradle.kts +++ b/libraries/matrixui/build.gradle.kts @@ -19,6 +19,7 @@ plugins { id("io.element.android-compose-library") alias(libs.plugins.anvil) + alias(libs.plugins.ksp) } android { @@ -38,4 +39,6 @@ dependencies { implementation(projects.libraries.designsystem) implementation(projects.libraries.core) implementation(libs.coil.compose) + + ksp(libs.showkase.processor) } diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt index fffe32d5c5..84eb655b05 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt @@ -31,16 +31,13 @@ import androidx.compose.ui.text.font.FontWeight 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.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import io.element.android.libraries.designsystem.components.avatar.Avatar -import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize 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.matrix.core.UserId import io.element.android.libraries.matrix.ui.model.MatrixUser import io.element.android.libraries.matrix.ui.model.getBestName @@ -85,22 +82,6 @@ fun MatrixUserHeader( } } -open class MatrixUserPreviewParameterProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - MatrixUser( - id = UserId("@alice:server.org"), - username = "Alice", - avatarData = AvatarData("Alice") - ), - MatrixUser( - id = UserId("@alice:server.org"), - username = null, - avatarData = AvatarData("Alice") - ), - ) -} - @Preview @Composable fun MatrixUserHeaderLightPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt new file mode 100644 index 0000000000..ffa73a7a84 --- /dev/null +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt @@ -0,0 +1,38 @@ +/* + * 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.matrix.ui.components + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.ui.model.MatrixUser + +open class MatrixUserPreviewParameterProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + MatrixUser( + id = UserId("@alice:server.org"), + username = "Alice", + avatarData = AvatarData("Alice") + ), + MatrixUser( + id = UserId("@alice:server.org"), + username = null, + avatarData = AvatarData("Alice") + ), + ) +} diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt index 50bb7d377f..246b435f81 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt @@ -30,17 +30,17 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight 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.sp import io.element.android.libraries.designsystem.components.avatar.Avatar -import io.element.android.libraries.designsystem.components.avatar.AvatarData 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.matrix.core.UserId import io.element.android.libraries.matrix.ui.model.MatrixUser import io.element.android.libraries.matrix.ui.model.getBestName +// FIXME Row are not the same height if there is a name or not. @Composable fun MatrixUserRow( matrixUser: MatrixUser, @@ -89,19 +89,15 @@ fun MatrixUserRow( @Preview @Composable -fun MatrixUserRowLightPreview() = ElementPreviewLight { ContentToPreview() } +fun MatrixUserRowLightPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = + ElementPreviewLight { ContentToPreview(matrixUser) } @Preview @Composable -fun MatrixUserRowDarkPreview() = ElementPreviewDark { ContentToPreview() } +fun MatrixUserRowDarkPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = + ElementPreviewDark { ContentToPreview(matrixUser) } @Composable -private fun ContentToPreview() { - MatrixUserRow( - MatrixUser( - id = UserId("@alice:server.org"), - username = "Alice", - avatarData = AvatarData("Alice") - ) - ) +private fun ContentToPreview(matrixUser: MatrixUser) { + MatrixUserRow(matrixUser) } diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fdfb98b731 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87b70d8d0be521d31b5cda13fbb28181737fc887ef7af32a92d5231aed1692aa +size 20962 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..a9ad392da9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90da6bebf728f89f42cf51d0cdf438d74f96504dc0758c647a4f07a88ebbcac1 +size 20472 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1f2d280399 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:048614dadeed1a648eb697233eb96bfef7983ed8104bbfaaf727e74a8969eaae +size 18969 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..4e2a499b2c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e65175e7ac965fef3b69614be340f934b33e0ef12667c416b929ca3cabaca87 +size 18814 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..a65d2c8b0f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebc06c9322dfd7a0dcd95a67449f48c88784b7441891a36daf63a1f6619355fa +size 13744 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..a65d2c8b0f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebc06c9322dfd7a0dcd95a67449f48c88784b7441891a36daf63a1f6619355fa +size 13744 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..89870ef639 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0371ed4754c13fc99ff92414e02f92a05621320eb4c9b846cb576a69211ab7ae +size 12774 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fddef7bbba --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33a5cbc319ae522a937ca19543dfce68e8971a0a1ff82ed3e7991d68eda82d5d +size 12666 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fddef7bbba --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33a5cbc319ae522a937ca19543dfce68e8971a0a1ff82ed3e7991d68eda82d5d +size 12666 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..5aeef096f1 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c48f78164e0b3b46bbf71a2d7722473897bf2a787293382831110858da14a51 +size 12140 From 443076f6362eee3df7f60a0a0f9e205b47ede82b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Feb 2023 10:06:30 +0100 Subject: [PATCH 13/62] Give the id to AvatarData to be able to compute initial properly. --- .../features/messages/MessagesPresenter.kt | 3 ++- .../android/features/messages/MessagesView.kt | 23 ++++--------------- .../messages/timeline/TimelineItemsFactory.kt | 3 ++- .../messages/timeline/TimelineView.kt | 4 ++-- .../messages/MessagesPresenterTest.kt | 2 +- .../actionlist/ActionListPresenterTest.kt | 2 +- .../preferences/root/PreferencesRootView.kt | 14 +++++++---- .../features/roomlist/RoomListPresenter.kt | 13 ++++------- .../android/features/roomlist/RoomListView.kt | 2 +- .../roomlist/components/RoomListTopBar.kt | 2 +- .../roomlist/model/RoomListRoomSummary.kt | 2 +- .../model/RoomListRoomSummaryPlaceholders.kt | 2 +- .../features/roomlist/model/stubbed.kt | 4 ++-- .../roomlist/RoomListPresenterTests.kt | 2 +- .../designsystem/components/avatar/Avatar.kt | 13 +++++++---- .../components/avatar/AvatarData.kt | 23 ++++++++++++++++++- .../libraries/matrix/ui/MatrixItemHelper.kt | 3 ++- .../MatrixUserPreviewParameterProvider.kt | 18 ++++++++------- .../libraries/matrix/ui/model/MatrixUser.kt | 2 +- 19 files changed, 76 insertions(+), 61 deletions(-) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesPresenter.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesPresenter.kt index 44d6f0b7a1..a173ba4293 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesPresenter.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesPresenter.kt @@ -67,7 +67,8 @@ class MessagesPresenter @Inject constructor( LaunchedEffect(syncUpdateFlow) { roomAvatar.value = AvatarData( - name = room.bestName, + id = room.roomId.value, + name = room.name, url = room.avatarUrl, size = AvatarSize.SMALL ) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt index 05e788a02b..de3b6739bc 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt @@ -21,18 +21,7 @@ package io.element.android.features.messages -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.imePadding -import androidx.compose.foundation.layout.navigationBarsPadding -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.statusBars -import androidx.compose.foundation.layout.width -import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.layout.* import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.ModalBottomSheetValue import androidx.compose.material.icons.Icons @@ -68,11 +57,7 @@ import io.element.android.libraries.designsystem.components.avatar.Avatar import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import io.element.android.libraries.designsystem.theme.components.Icon -import io.element.android.libraries.designsystem.theme.components.IconButton -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 +import io.element.android.libraries.designsystem.theme.components.* import io.element.android.libraries.designsystem.utils.LogCompositions import io.element.android.libraries.matrix.core.RoomId import io.element.android.libraries.textcomposer.MessageComposerMode @@ -223,9 +208,9 @@ fun MessagesViewDarkPreview() = ElementPreviewDark { ContentToPreview() } private fun ContentToPreview() { MessagesView( MessagesState( - roomId = RoomId(""), + roomId = RoomId("!id"), roomName = "Room name", - roomAvatar = AvatarData("Room name"), + roomAvatar = AvatarData("!id", "Room name"), composerState = aMessageComposerState().copy( text = StableCharSequence("Hello"), isFullScreen = false, diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineItemsFactory.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineItemsFactory.kt index ce945f1e88..2b7529031d 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineItemsFactory.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineItemsFactory.kt @@ -156,7 +156,8 @@ class TimelineItemsFactory @Inject constructor( val senderDisplayName = room.userDisplayName(currentSender).getOrNull() val senderAvatarUrl = room.userAvatarUrl(currentSender).getOrNull() val senderAvatarData = AvatarData( - name = senderDisplayName ?: currentSender, + id = currentSender, + name = senderDisplayName, url = senderAvatarUrl, size = AvatarSize.SMALL ) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt index c3b9d27b7b..ccfd566703 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt @@ -418,8 +418,8 @@ internal fun createMessageEvent( ): TimelineItem.MessageEvent { return TimelineItem.MessageEvent( id = EventId(Math.random().toString()), - senderId = "senderId", - senderAvatar = AvatarData("sender"), + senderId = "@senderId", + senderAvatar = AvatarData("@senderId", "sender"), content = content, reactionsState = TimelineItemReactions( persistentListOf( diff --git a/features/messages/src/test/kotlin/io/element/android/features/messages/MessagesPresenterTest.kt b/features/messages/src/test/kotlin/io/element/android/features/messages/MessagesPresenterTest.kt index a16d9f7eb1..f7c675430a 100644 --- a/features/messages/src/test/kotlin/io/element/android/features/messages/MessagesPresenterTest.kt +++ b/features/messages/src/test/kotlin/io/element/android/features/messages/MessagesPresenterTest.kt @@ -170,7 +170,7 @@ private fun aMessageEvent( id = AN_EVENT_ID, senderId = A_USER_ID.value, senderDisplayName = A_USER_NAME, - senderAvatar = AvatarData(), + senderAvatar = AvatarData(A_USER_ID.value, A_USER_NAME), content = content, sentTime = "", isMine = isMine, diff --git a/features/messages/src/test/kotlin/io/element/android/features/messages/actionlist/ActionListPresenterTest.kt b/features/messages/src/test/kotlin/io/element/android/features/messages/actionlist/ActionListPresenterTest.kt index 06d1486293..7da64088f5 100644 --- a/features/messages/src/test/kotlin/io/element/android/features/messages/actionlist/ActionListPresenterTest.kt +++ b/features/messages/src/test/kotlin/io/element/android/features/messages/actionlist/ActionListPresenterTest.kt @@ -168,7 +168,7 @@ private fun aMessageEvent( id = AN_EVENT_ID, senderId = A_USER_ID.value, senderDisplayName = A_USER_NAME, - senderAvatar = AvatarData(), + senderAvatar = AvatarData(A_USER_ID.value, A_USER_NAME), content = content, sentTime = "", isMine = isMine, diff --git a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt index d781d1cec3..29aeccd87f 100644 --- a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt +++ b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt @@ -20,12 +20,16 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.features.logout.LogoutPreferenceView import io.element.android.features.preferences.user.UserPreferences import io.element.android.features.rageshake.preferences.RageshakePreferencesView +import io.element.android.libraries.architecture.Async import io.element.android.libraries.designsystem.components.preferences.PreferenceView import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.matrix.ui.components.MatrixUserPreviewParameterProvider +import io.element.android.libraries.matrix.ui.model.MatrixUser import io.element.android.libraries.ui.strings.R as StringR @Composable @@ -55,13 +59,15 @@ fun PreferencesRootView( @Preview @Composable -fun PreferencesRootViewLightPreview() = ElementPreviewLight { ContentToPreview() } +fun PreferencesRootViewLightPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = + ElementPreviewLight { ContentToPreview(matrixUser) } @Preview @Composable -fun PreferencesRootViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +fun PreferencesRootViewDarkPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = + ElementPreviewDark { ContentToPreview(matrixUser) } @Composable -private fun ContentToPreview() { - PreferencesRootView(aPreferencesRootState()) +private fun ContentToPreview(matrixUser: MatrixUser) { + PreferencesRootView(aPreferencesRootState().copy(myUser = Async.Success(matrixUser))) } diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListPresenter.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListPresenter.kt index 26d3bfd4ae..094b592a94 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListPresenter.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListPresenter.kt @@ -16,15 +16,8 @@ package io.element.android.features.roomlist -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember +import androidx.compose.runtime.* import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue import io.element.android.features.roomlist.model.RoomListEvents import io.element.android.features.roomlist.model.RoomListRoomSummary import io.element.android.features.roomlist.model.RoomListRoomSummaryPlaceholders @@ -107,7 +100,8 @@ class RoomListPresenter @Inject constructor( val userDisplayName = client.loadUserDisplayName().getOrNull() val avatarData = AvatarData( - name = userDisplayName ?: client.userId().value, + id = client.userId().value, + name = userDisplayName, url = userAvatarUrl, size = AvatarSize.SMALL ) @@ -136,6 +130,7 @@ class RoomListPresenter @Inject constructor( is RoomSummary.Empty -> RoomListRoomSummaryPlaceholders.create(roomSummary.identifier) is RoomSummary.Filled -> { val avatarData = AvatarData( + id = roomSummary.identifier(), name = roomSummary.details.name, url = roomSummary.details.avatarURLString ) diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt index d163f60269..e238459a05 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt @@ -168,7 +168,7 @@ fun RoomListViewDarkPreview() = ElementPreviewDark { ContentToPreview() } private fun ContentToPreview() { RoomListView( aRoomListState().copy( - matrixUser = MatrixUser(id = UserId("@id"), username = "User#1", avatarData = AvatarData("U")), + matrixUser = MatrixUser(id = UserId("@id"), username = "User#1", avatarData = AvatarData("@id", "U")), roomList = stubbedRoomSummaries(), filter = "filter", ) diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt index d742b3e3df..b1f8816e3b 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt @@ -239,7 +239,7 @@ fun DefaultRoomListTopBarDarkPreview() = ElementPreviewDark { DefaultRoomListTop @Composable private fun DefaultRoomListTopBarPreview() { DefaultRoomListTopBar( - matrixUser = MatrixUser(UserId("id"), "Alice", AvatarData("Alice")), + matrixUser = MatrixUser(UserId("@id"), "Alice", AvatarData("@id", "Alice")), scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(rememberTopAppBarState()), ) } diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummary.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummary.kt index f88b3da31f..5f9e883e5d 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummary.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummary.kt @@ -28,6 +28,6 @@ data class RoomListRoomSummary( val hasUnread: Boolean = false, val timestamp: String? = null, val lastMessage: CharSequence? = null, - val avatarData: AvatarData = AvatarData(), + val avatarData: AvatarData = AvatarData(id, name), val isPlaceholder: Boolean = false, ) diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryPlaceholders.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryPlaceholders.kt index 5fb3221093..b1f48c8ab2 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryPlaceholders.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryPlaceholders.kt @@ -27,7 +27,7 @@ object RoomListRoomSummaryPlaceholders { name = "Short name", timestamp = "hh:mm", lastMessage = "Last message for placeholder", - avatarData = AvatarData("S") + avatarData = AvatarData(id, "S") ) } diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/stubbed.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/stubbed.kt index c122752d4d..dbf05c014a 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/stubbed.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/stubbed.kt @@ -27,7 +27,7 @@ internal fun stubbedRoomSummaries(): ImmutableList { hasUnread = true, timestamp = "14:18", lastMessage = "A very very very very long message which suites on two lines", - avatarData = AvatarData("R"), + avatarData = AvatarData("!id", "R"), id = "roomId" ), RoomListRoomSummary( @@ -35,7 +35,7 @@ internal fun stubbedRoomSummaries(): ImmutableList { hasUnread = false, timestamp = "14:16", lastMessage = "A short message", - avatarData = AvatarData("Z"), + avatarData = AvatarData("!id", "Z"), id = "roomId2" ), RoomListRoomSummaryPlaceholders.create("roomId2") diff --git a/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt b/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt index 94256c8888..743fd2d888 100644 --- a/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt +++ b/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt @@ -217,6 +217,6 @@ private val aRoomListRoomSummary = RoomListRoomSummary( hasUnread = true, timestamp = A_FORMATTED_DATE, lastMessage = A_MESSAGE, - avatarData = AvatarData(name = A_ROOM_NAME), + avatarData = AvatarData(id = A_ROOM_ID.value, name = A_ROOM_NAME), isPlaceholder = false, ) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt index b9a6d19bc8..c1e5fa7e8f 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt @@ -29,6 +29,7 @@ import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.sp import coil.compose.AsyncImage import io.element.android.libraries.designsystem.AvatarGradientEnd @@ -90,7 +91,7 @@ private fun InitialsAvatar( ) { Text( modifier = Modifier.align(Alignment.Center), - text = avatarData.name.first().uppercase(), + text = avatarData.getInitial(), fontSize = (avatarData.size.value / 2).sp, color = Color.White, ) @@ -99,13 +100,15 @@ private fun InitialsAvatar( @Preview @Composable -fun AvatarLightPreview() = ElementPreviewLight { ContentToPreview() } +fun AvatarLightPreview(@PreviewParameter(AvatarDataPreviewParameterProvider::class) avatarData: AvatarData) = + ElementPreviewLight { ContentToPreview(avatarData) } @Preview @Composable -fun AvatarDarkPreview() = ElementPreviewDark { ContentToPreview() } +fun AvatarDarkPreview(@PreviewParameter(AvatarDataPreviewParameterProvider::class) avatarData: AvatarData) = + ElementPreviewDark { ContentToPreview(avatarData) } @Composable -private fun ContentToPreview() { - Avatar(AvatarData(name = "A")) +private fun ContentToPreview(avatarData: AvatarData) { + Avatar(avatarData) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarData.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarData.kt index 777ea701cc..199e6f575c 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarData.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarData.kt @@ -17,10 +17,31 @@ package io.element.android.libraries.designsystem.components.avatar import androidx.compose.runtime.Immutable +import androidx.compose.ui.tooling.preview.PreviewParameterProvider @Immutable data class AvatarData( - val name: String = "", + val id: String, + val name: String?, val url: String? = null, val size: AvatarSize = AvatarSize.MEDIUM +) { + fun getInitial(): String { + val firstChar = name?.firstOrNull() ?: id.getOrNull(1) ?: '?' + return firstChar.uppercase() + } +} + +open class AvatarDataPreviewParameterProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + anAvatarData(), + anAvatarData().copy(name = null), + ) +} + +fun anAvatarData() = AvatarData( + // Let's the id not start with a 'a'. + id = "@id_of_alice:server.org", + name = "Alice", ) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/MatrixItemHelper.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/MatrixItemHelper.kt index 8f1dcc203a..f60f95cee8 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/MatrixItemHelper.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/MatrixItemHelper.kt @@ -38,7 +38,8 @@ class MatrixItemHelper @Inject constructor( val userDisplayName = client.loadUserDisplayName().getOrNull() val avatarData = AvatarData( - userDisplayName ?: client.userId().value, + client.userId().value, + userDisplayName, userAvatarUrl, avatarSize ) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt index ffa73a7a84..c277ca42c2 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt @@ -17,22 +17,24 @@ package io.element.android.libraries.matrix.ui.components import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.designsystem.components.avatar.anAvatarData import io.element.android.libraries.matrix.core.UserId import io.element.android.libraries.matrix.ui.model.MatrixUser open class MatrixUserPreviewParameterProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( + aMatrixUser(), MatrixUser( - id = UserId("@alice:server.org"), - username = "Alice", - avatarData = AvatarData("Alice") - ), - MatrixUser( - id = UserId("@alice:server.org"), + id = UserId("@id_of_alice:server.org"), username = null, - avatarData = AvatarData("Alice") + avatarData = anAvatarData().copy(name = null) ), ) } + +fun aMatrixUser() = MatrixUser( + id = UserId("@id_of_alice:server.org"), + username = "Alice", + avatarData = anAvatarData() +) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/model/MatrixUser.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/model/MatrixUser.kt index 1fdc63ab3e..b1a58c7920 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/model/MatrixUser.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/model/MatrixUser.kt @@ -24,7 +24,7 @@ import io.element.android.libraries.matrix.core.UserId data class MatrixUser( val id: UserId, val username: String? = null, - val avatarData: AvatarData = AvatarData(), + val avatarData: AvatarData = AvatarData(id.value, username), ) fun MatrixUser.getBestName(): String { From 41965a8bccd031ee8794f596cb25be5b4e6a152e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Feb 2023 10:33:27 +0100 Subject: [PATCH 14/62] Typo --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 0869ecc6ca..2208e22ddf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -217,7 +217,7 @@ koverMerged { valueType = kotlinx.kover.api.VerificationValueType.COVERED_PERCENTAGE } } - // Rule to ensure that coverage of State is sufficient. + // Rule to ensure that coverage of States is sufficient. rule { name = "Check code coverage of states" target = kotlinx.kover.api.VerificationTarget.CLASS From e120ca716333a0122d0ac5c91c0168224941d1ca Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Feb 2023 11:23:30 +0100 Subject: [PATCH 15/62] Extract Provider (and rename them) to their own file and move fixture(s) there. --- .../io/element/android/x/root/RootState.kt | 9 -- .../android/x/root/RootStateProvider.kt | 44 ++++++++ .../io/element/android/x/root/RootView.kt | 27 +---- .../login/changeserver/ChangeServerState.kt | 6 -- .../changeserver/ChangeServerStateProvider.kt | 25 +++++ .../features/login/root/LoginRootState.kt | 7 -- .../login/root/LoginRootStateProvider.kt | 24 +++++ .../features/logout/LogoutPreferenceState.kt | 5 - .../logout/LogoutPreferenceStateProvider.kt | 24 +++++ .../android/features/messages/MessagesView.kt | 6 +- .../messages/actionlist/ActionListState.kt | 6 -- .../actionlist/ActionListStateProvider.kt | 47 ++++++++ .../messages/actionlist/ActionListView.kt | 27 +---- .../messages/timeline/TimelineState.kt | 8 -- .../timeline/TimelineStateProvider.kt | 100 ++++++++++++++++++ .../messages/timeline/TimelineView.kt | 79 +------------- .../model/TimelineItemGroupPosition.kt | 9 -- .../TimelineItemGroupPositionProvider.kt | 28 +++++ .../model/content/TimelineItemContent.kt | 26 ----- .../content/TimelineItemContentProvider.kt | 43 ++++++++ .../preferences/root/PreferencesRootState.kt | 8 -- .../root/PreferencesRootStateProvider.kt | 27 +++++ .../preferences/root/PreferencesRootView.kt | 6 +- .../rageshake/bugreport/BugReportState.kt | 9 -- .../bugreport/BugReportStateProvider.kt | 28 +++++ .../rageshake/crash/ui/CrashDetectionState.kt | 5 - .../crash/ui/CrashDetectionStateProvider.kt | 22 ++++ .../detection/RageshakeDetectionState.kt | 9 -- .../RageshakeDetectionStateProvider.kt | 27 +++++ .../preferences/RageshakePreferencesState.kt | 7 -- .../RageshakePreferencesStateProvider.kt | 34 ++++++ .../preferences/RageshakePreferencesView.kt | 13 +-- .../features/roomlist/model/RoomListState.kt | 8 -- .../roomlist/model/RoomListStateProvider.kt | 26 +++++ .../features/template/TemplateState.kt | 4 - .../template/TemplateStateProvider.kt | 31 ++++++ .../android/features/template/TemplateView.kt | 13 +-- .../designsystem/components/avatar/Avatar.kt | 4 +- .../components/avatar/AvatarData.kt | 15 --- .../components/avatar/AvatarDataProvider.kt | 33 ++++++ ...arameterProvider.kt => BooleanProvider.kt} | 2 +- ...terProvider.kt => PairCombinedProvider.kt} | 2 +- ...ParameterProvider.kt => StringProvider.kt} | 2 +- .../matrix/ui/components/MatrixUserHeader.kt | 4 +- ...meterProvider.kt => MatrixUserProvider.kt} | 2 +- .../matrix/ui/components/MatrixUserRow.kt | 4 +- 46 files changed, 593 insertions(+), 302 deletions(-) create mode 100644 app/src/main/kotlin/io/element/android/x/root/RootStateProvider.kt create mode 100644 features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerStateProvider.kt create mode 100644 features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootStateProvider.kt create mode 100644 features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceStateProvider.kt create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListStateProvider.kt create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemGroupPositionProvider.kt create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContentProvider.kt create mode 100644 features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootStateProvider.kt create mode 100644 features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt create mode 100644 features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionStateProvider.kt create mode 100644 features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionStateProvider.kt create mode 100644 features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesStateProvider.kt create mode 100644 features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListStateProvider.kt create mode 100644 features/template/src/main/kotlin/io/element/android/features/template/TemplateStateProvider.kt create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarDataProvider.kt rename libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/{BooleanPreviewParameterProvider.kt => BooleanProvider.kt} (90%) rename libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/{PairCombinedPreviewParameterProvider.kt => PairCombinedProvider.kt} (94%) rename libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/{StringPreviewParameterProvider.kt => StringProvider.kt} (88%) rename libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/{MatrixUserPreviewParameterProvider.kt => MatrixUserProvider.kt} (94%) diff --git a/app/src/main/kotlin/io/element/android/x/root/RootState.kt b/app/src/main/kotlin/io/element/android/x/root/RootState.kt index d663b3c7c2..4f6b4c2062 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootState.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootState.kt @@ -18,9 +18,7 @@ package io.element.android.x.root import androidx.compose.runtime.Stable import io.element.android.features.rageshake.crash.ui.CrashDetectionState -import io.element.android.features.rageshake.crash.ui.aCrashDetectionState import io.element.android.features.rageshake.detection.RageshakeDetectionState -import io.element.android.features.rageshake.detection.aRageshakeDetectionState @Stable data class RootState( @@ -29,10 +27,3 @@ data class RootState( val crashDetectionState: CrashDetectionState, val eventSink: (RootEvents) -> Unit ) - -fun aRootState() = RootState( - isShowkaseButtonVisible = false, - rageshakeDetectionState = aRageshakeDetectionState(), - crashDetectionState = aCrashDetectionState(), - eventSink = {} -) diff --git a/app/src/main/kotlin/io/element/android/x/root/RootStateProvider.kt b/app/src/main/kotlin/io/element/android/x/root/RootStateProvider.kt new file mode 100644 index 0000000000..692f5a88f0 --- /dev/null +++ b/app/src/main/kotlin/io/element/android/x/root/RootStateProvider.kt @@ -0,0 +1,44 @@ +/* + * 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.x.root + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.rageshake.crash.ui.aCrashDetectionState +import io.element.android.features.rageshake.detection.aRageshakeDetectionState + +open class RootStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aRootState().copy( + isShowkaseButtonVisible = true, + rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = false), + crashDetectionState = aCrashDetectionState().copy(crashDetected = true), + ), + aRootState().copy( + isShowkaseButtonVisible = true, + rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = true), + crashDetectionState = aCrashDetectionState().copy(crashDetected = false), + ) + ) +} + +fun aRootState() = RootState( + isShowkaseButtonVisible = false, + rageshakeDetectionState = aRageshakeDetectionState(), + crashDetectionState = aCrashDetectionState(), + eventSink = {} +) diff --git a/app/src/main/kotlin/io/element/android/x/root/RootView.kt b/app/src/main/kotlin/io/element/android/x/root/RootView.kt index 06e7c5b023..0dcb1f4600 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootView.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootView.kt @@ -26,13 +26,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.rageshake.crash.ui.CrashDetectionEvents import io.element.android.features.rageshake.crash.ui.CrashDetectionView -import io.element.android.features.rageshake.crash.ui.aCrashDetectionState import io.element.android.features.rageshake.detection.RageshakeDetectionEvents import io.element.android.features.rageshake.detection.RageshakeDetectionView -import io.element.android.features.rageshake.detection.aRageshakeDetectionState 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 @@ -77,29 +74,13 @@ fun RootView( } } -open class RootStatePreviewParameterProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - aRootState().copy( - isShowkaseButtonVisible = true, - rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = false), - crashDetectionState = aCrashDetectionState().copy(crashDetected = true), - ), - aRootState().copy( - isShowkaseButtonVisible = true, - rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = true), - crashDetectionState = aCrashDetectionState().copy(crashDetected = false), - ) - ) -} +@Preview +@Composable +fun RootLightPreview(@PreviewParameter(RootStateProvider::class) rootState: RootState) = ElementPreviewLight { ContentToPreview(rootState) } @Preview @Composable -fun RootLightPreview(@PreviewParameter(RootStatePreviewParameterProvider::class) rootState: RootState) = ElementPreviewLight { ContentToPreview(rootState) } - -@Preview -@Composable -fun RootDarkPreview(@PreviewParameter(RootStatePreviewParameterProvider::class) rootState: RootState) = ElementPreviewDark { ContentToPreview(rootState) } +fun RootDarkPreview(@PreviewParameter(RootStateProvider::class) rootState: RootState) = ElementPreviewDark { ContentToPreview(rootState) } @Composable private fun ContentToPreview(rootState: RootState) { diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerState.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerState.kt index 99968a908b..3463e1f238 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerState.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerState.kt @@ -25,9 +25,3 @@ data class ChangeServerState( ) { val submitEnabled = homeserver.isNotEmpty() && changeServerAction !is Async.Loading } - -fun aChangeServerState() = ChangeServerState( - homeserver = "", - changeServerAction = Async.Uninitialized, - eventSink = {} -) diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerStateProvider.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerStateProvider.kt new file mode 100644 index 0000000000..85523a9b25 --- /dev/null +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerStateProvider.kt @@ -0,0 +1,25 @@ +/* + * 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.features.login.changeserver + +import io.element.android.libraries.architecture.Async + +fun aChangeServerState() = ChangeServerState( + homeserver = "", + changeServerAction = Async.Uninitialized, + eventSink = {} +) diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt index e52e8d5664..27af06b11e 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt @@ -47,10 +47,3 @@ data class LoginFormState( val Default = LoginFormState("", "") } } - -fun aLoginRootState() = LoginRootState( - homeserver = "", - loggedInState = LoggedInState.NotLoggedIn, - formState = LoginFormState.Default, - eventSink = {} -) diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootStateProvider.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootStateProvider.kt new file mode 100644 index 0000000000..2a5b737719 --- /dev/null +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootStateProvider.kt @@ -0,0 +1,24 @@ +/* + * 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.features.login.root + +fun aLoginRootState() = LoginRootState( + homeserver = "", + loggedInState = LoggedInState.NotLoggedIn, + formState = LoginFormState.Default, + eventSink = {} +) diff --git a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceState.kt b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceState.kt index 104721bd44..ee90d64e0b 100644 --- a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceState.kt +++ b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceState.kt @@ -22,8 +22,3 @@ data class LogoutPreferenceState( val logoutAction: Async, val eventSink: (LogoutPreferenceEvents) -> Unit, ) - -fun aLogoutPreferenceState() = LogoutPreferenceState( - logoutAction = Async.Uninitialized, - eventSink = {} -) diff --git a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceStateProvider.kt b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceStateProvider.kt new file mode 100644 index 0000000000..f6bed308c4 --- /dev/null +++ b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceStateProvider.kt @@ -0,0 +1,24 @@ +/* + * 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.features.logout + +import io.element.android.libraries.architecture.Async + +fun aLogoutPreferenceState() = LogoutPreferenceState( + logoutAction = Async.Uninitialized, + eventSink = {} +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt index de3b6739bc..67117d0d4e 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt @@ -49,8 +49,8 @@ import io.element.android.features.messages.textcomposer.MessageComposerView import io.element.android.features.messages.textcomposer.aMessageComposerState import io.element.android.features.messages.timeline.TimelineView import io.element.android.features.messages.timeline.aTimelineState -import io.element.android.features.messages.timeline.createTimelineItemContent -import io.element.android.features.messages.timeline.createTimelineItems +import io.element.android.features.messages.timeline.aTimelineItemContent +import io.element.android.features.messages.timeline.aTimelineItemList import io.element.android.features.messages.timeline.model.TimelineItem import io.element.android.libraries.core.data.StableCharSequence import io.element.android.libraries.designsystem.components.avatar.Avatar @@ -217,7 +217,7 @@ private fun ContentToPreview() { mode = MessageComposerMode.Normal("Hello"), ), timelineState = aTimelineState().copy( - timelineItems = createTimelineItems(createTimelineItemContent()), + timelineItems = aTimelineItemList(aTimelineItemContent()), hasMoreToLoad = false, ), actionListState = anActionListState(), diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListState.kt index 324003c68b..c3ce691c62 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListState.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListState.kt @@ -26,7 +26,6 @@ data class ActionListState( val target: Target, val eventSink: (ActionListEvents) -> Unit, ) { - sealed interface Target { object None : Target data class Loading(val messageEvent: TimelineItem.MessageEvent) : Target @@ -36,8 +35,3 @@ data class ActionListState( ) : Target } } - -fun anActionListState() = ActionListState( - target = ActionListState.Target.None, - eventSink = {} -) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListStateProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListStateProvider.kt new file mode 100644 index 0000000000..e88acf42b7 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListStateProvider.kt @@ -0,0 +1,47 @@ +/* + * 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.features.messages.actionlist + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.messages.actionlist.model.TimelineItemAction +import io.element.android.features.messages.timeline.aMessageEvent +import kotlinx.collections.immutable.persistentListOf + +open class ActionListStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + anActionListState(), + anActionListState().copy(target = ActionListState.Target.Loading(aMessageEvent())), + anActionListState().copy( + target = ActionListState.Target.Success( + messageEvent = aMessageEvent(), + actions = persistentListOf( + TimelineItemAction.Reply, + TimelineItemAction.Forward, + TimelineItemAction.Copy, + TimelineItemAction.Edit, + TimelineItemAction.Redact, + ) + ) + ) + ) +} + +fun anActionListState() = ActionListState( + target = ActionListState.Target.None, + eventSink = {} +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt index d16d2a27f4..a3ca2eb2d6 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt @@ -39,16 +39,13 @@ import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import io.element.android.features.messages.actionlist.model.TimelineItemAction -import io.element.android.features.messages.timeline.createMessageEvent import io.element.android.features.messages.timeline.model.TimelineItem import io.element.android.libraries.designsystem.components.VectorIcon import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.ModalBottomSheetLayout -import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.flow.filter import kotlinx.coroutines.launch @@ -136,34 +133,14 @@ private fun SheetContent( } } -open class ActionListStatePreviewParameterProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - anActionListState(), - anActionListState().copy(target = ActionListState.Target.Loading(createMessageEvent())), - anActionListState().copy( - target = ActionListState.Target.Success( - messageEvent = createMessageEvent(), - actions = persistentListOf( - TimelineItemAction.Reply, - TimelineItemAction.Forward, - TimelineItemAction.Copy, - TimelineItemAction.Edit, - TimelineItemAction.Redact, - ) - ) - ) - ) -} - @Preview @Composable -fun SheetContentLightPreview(@PreviewParameter(ActionListStatePreviewParameterProvider::class) state: ActionListState) = +fun SheetContentLightPreview(@PreviewParameter(ActionListStateProvider::class) state: ActionListState) = ElementPreviewLight { ContentToPreview(state) } @Preview @Composable -fun SheetContentDarkPreview(@PreviewParameter(ActionListStatePreviewParameterProvider::class) state: ActionListState) = +fun SheetContentDarkPreview(@PreviewParameter(ActionListStateProvider::class) state: ActionListState) = ElementPreviewDark { ContentToPreview(state) } @Composable diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt index a3ae9b3a72..6b8c715f5d 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt @@ -20,7 +20,6 @@ import androidx.compose.runtime.Immutable import io.element.android.features.messages.timeline.model.TimelineItem import io.element.android.libraries.matrix.core.EventId import kotlinx.collections.immutable.ImmutableList -import kotlinx.collections.immutable.persistentListOf @Immutable data class TimelineState( @@ -29,10 +28,3 @@ data class TimelineState( val highlightedEventId: EventId?, val eventSink: (TimelineEvents) -> Unit ) - -fun aTimelineState() = TimelineState( - timelineItems = persistentListOf(), - hasMoreToLoad = false, - highlightedEventId = null, - eventSink = {} -) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt new file mode 100644 index 0000000000..ac1a39b400 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt @@ -0,0 +1,100 @@ +/* + * 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.features.messages.timeline + +import io.element.android.features.messages.timeline.model.AggregatedReaction +import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition +import io.element.android.features.messages.timeline.model.TimelineItem +import io.element.android.features.messages.timeline.model.TimelineItemReactions +import io.element.android.features.messages.timeline.model.content.TimelineItemContent +import io.element.android.features.messages.timeline.model.content.TimelineItemTextContent +import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.matrix.core.EventId +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf + +fun aTimelineState() = TimelineState( + timelineItems = persistentListOf(), + hasMoreToLoad = false, + highlightedEventId = null, + eventSink = {} +) + +internal fun aTimelineItemList(content: TimelineItemContent): ImmutableList { + return persistentListOf( + // 3 items (First Middle Last) with isMine = false + aMessageEvent( + isMine = false, + content = content, + groupPosition = MessagesItemGroupPosition.Last + ), + aMessageEvent( + isMine = false, + content = content, + groupPosition = MessagesItemGroupPosition.Middle + ), + aMessageEvent( + isMine = false, + content = content, + groupPosition = MessagesItemGroupPosition.First + ), + // 3 items (First Middle Last) with isMine = true + aMessageEvent( + isMine = true, + content = content, + groupPosition = MessagesItemGroupPosition.Last + ), + aMessageEvent( + isMine = true, + content = content, + groupPosition = MessagesItemGroupPosition.Middle + ), + aMessageEvent( + isMine = true, + content = content, + groupPosition = MessagesItemGroupPosition.First + ), + ) +} + +internal fun aMessageEvent( + isMine: Boolean = false, + content: TimelineItemContent = aTimelineItemContent(), + groupPosition: MessagesItemGroupPosition = MessagesItemGroupPosition.First +): TimelineItem.MessageEvent { + return TimelineItem.MessageEvent( + id = EventId(Math.random().toString()), + senderId = "@senderId", + senderAvatar = AvatarData("@senderId", "sender"), + content = content, + reactionsState = TimelineItemReactions( + persistentListOf( + AggregatedReaction("👍", "1") + ) + ), + isMine = isMine, + senderDisplayName = "sender", + groupPosition = groupPosition, + ) +} + +internal fun aTimelineItemContent(): TimelineItemContent { + return TimelineItemTextContent( + body = "Text", + htmlDocument = null + ) +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt index ccfd566703..b211aead61 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt @@ -61,17 +61,13 @@ import io.element.android.features.messages.timeline.components.TimelineItemReac import io.element.android.features.messages.timeline.components.TimelineItemRedactedView import io.element.android.features.messages.timeline.components.TimelineItemTextView import io.element.android.features.messages.timeline.components.TimelineItemUnknownView -import io.element.android.features.messages.timeline.model.AggregatedReaction -import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition import io.element.android.features.messages.timeline.model.TimelineItem -import io.element.android.features.messages.timeline.model.TimelineItemReactions -import io.element.android.features.messages.timeline.model.content.MessagesTimelineItemContentProvider +import io.element.android.features.messages.timeline.model.content.TimelineItemContentProvider import io.element.android.features.messages.timeline.model.content.TimelineItemContent import io.element.android.features.messages.timeline.model.content.TimelineItemEncryptedContent import io.element.android.features.messages.timeline.model.content.TimelineItemImageContent import io.element.android.features.messages.timeline.model.content.TimelineItemRedactedContent import io.element.android.features.messages.timeline.model.content.TimelineItemTextBasedContent -import io.element.android.features.messages.timeline.model.content.TimelineItemTextContent import io.element.android.features.messages.timeline.model.content.TimelineItemUnknownContent import io.element.android.libraries.designsystem.components.avatar.Avatar import io.element.android.libraries.designsystem.components.avatar.AvatarData @@ -81,9 +77,7 @@ import io.element.android.libraries.designsystem.theme.components.CircularProgre import io.element.android.libraries.designsystem.theme.components.FloatingActionButton import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.matrix.core.EventId import kotlinx.collections.immutable.ImmutableList -import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.launch @@ -354,18 +348,18 @@ internal fun TimelineLoadingMoreIndicator() { @Preview @Composable fun LoginRootScreenLightPreview( - @PreviewParameter(MessagesTimelineItemContentProvider::class) content: TimelineItemContent + @PreviewParameter(TimelineItemContentProvider::class) content: TimelineItemContent ) = ElementPreviewLight { ContentToPreview(content) } @Preview @Composable fun LoginRootScreenDarkPreview( - @PreviewParameter(MessagesTimelineItemContentProvider::class) content: TimelineItemContent + @PreviewParameter(TimelineItemContentProvider::class) content: TimelineItemContent ) = ElementPreviewDark { ContentToPreview(content) } @Composable private fun ContentToPreview(content: TimelineItemContent) { - val timelineItems = createTimelineItems(content) + val timelineItems = aTimelineItemList(content) TimelineView( state = aTimelineState().copy( timelineItems = timelineItems, @@ -373,68 +367,3 @@ private fun ContentToPreview(content: TimelineItemContent) { ) ) } - -internal fun createTimelineItems(content: TimelineItemContent): ImmutableList { - return persistentListOf( - // 3 items (First Middle Last) with isMine = false - createMessageEvent( - isMine = false, - content = content, - groupPosition = MessagesItemGroupPosition.Last - ), - createMessageEvent( - isMine = false, - content = content, - groupPosition = MessagesItemGroupPosition.Middle - ), - createMessageEvent( - isMine = false, - content = content, - groupPosition = MessagesItemGroupPosition.First - ), - // 3 items (First Middle Last) with isMine = true - createMessageEvent( - isMine = true, - content = content, - groupPosition = MessagesItemGroupPosition.Last - ), - createMessageEvent( - isMine = true, - content = content, - groupPosition = MessagesItemGroupPosition.Middle - ), - createMessageEvent( - isMine = true, - content = content, - groupPosition = MessagesItemGroupPosition.First - ), - ) -} - -internal fun createMessageEvent( - isMine: Boolean = false, - content: TimelineItemContent = createTimelineItemContent(), - groupPosition: MessagesItemGroupPosition = MessagesItemGroupPosition.First -): TimelineItem.MessageEvent { - return TimelineItem.MessageEvent( - id = EventId(Math.random().toString()), - senderId = "@senderId", - senderAvatar = AvatarData("@senderId", "sender"), - content = content, - reactionsState = TimelineItemReactions( - persistentListOf( - AggregatedReaction("👍", "1") - ) - ), - isMine = isMine, - senderDisplayName = "sender", - groupPosition = groupPosition, - ) -} - -internal fun createTimelineItemContent(): TimelineItemContent { - return TimelineItemTextContent( - body = "Text", - htmlDocument = null - ) -} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemGroupPosition.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemGroupPosition.kt index 9a1ebb9362..dfdcc2a055 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemGroupPosition.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemGroupPosition.kt @@ -17,7 +17,6 @@ package io.element.android.features.messages.timeline.model import androidx.compose.runtime.Immutable -import androidx.compose.ui.tooling.preview.PreviewParameterProvider @Immutable sealed interface MessagesItemGroupPosition { @@ -32,11 +31,3 @@ sealed interface MessagesItemGroupPosition { } } -internal class TimelineItemGroupPositionProvider : PreviewParameterProvider { - override val values = sequenceOf( - MessagesItemGroupPosition.First, - MessagesItemGroupPosition.Middle, - MessagesItemGroupPosition.Last, - MessagesItemGroupPosition.None, - ) -} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemGroupPositionProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemGroupPositionProvider.kt new file mode 100644 index 0000000000..609ad63ee2 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemGroupPositionProvider.kt @@ -0,0 +1,28 @@ +/* + * 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.features.messages.timeline.model + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider + +internal class TimelineItemGroupPositionProvider : PreviewParameterProvider { + override val values = sequenceOf( + MessagesItemGroupPosition.First, + MessagesItemGroupPosition.Middle, + MessagesItemGroupPosition.Last, + MessagesItemGroupPosition.None, + ) +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContent.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContent.kt index 973a4343a3..010d4b20bd 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContent.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContent.kt @@ -16,30 +16,4 @@ package io.element.android.features.messages.timeline.model.content -import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import org.matrix.rustcomponents.sdk.EncryptedMessage - sealed interface TimelineItemContent - -class MessagesTimelineItemContentProvider : PreviewParameterProvider { - override val values = sequenceOf( - TimelineItemEmoteContent( - body = "Emote", - htmlDocument = null - ), - TimelineItemEncryptedContent( - encryptedMessage = EncryptedMessage.Unknown - ), - // TODO MessagesTimelineItemImageContent(), - TimelineItemNoticeContent( - body = "Notice", - htmlDocument = null - ), - TimelineItemRedactedContent, - TimelineItemTextContent( - body = "Text", - htmlDocument = null - ), - TimelineItemUnknownContent, - ) -} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContentProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContentProvider.kt new file mode 100644 index 0000000000..83ec1b6f51 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContentProvider.kt @@ -0,0 +1,43 @@ +/* + * 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.features.messages.timeline.model.content + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import org.matrix.rustcomponents.sdk.EncryptedMessage + +class TimelineItemContentProvider : PreviewParameterProvider { + override val values = sequenceOf( + TimelineItemEmoteContent( + body = "Emote", + htmlDocument = null + ), + TimelineItemEncryptedContent( + encryptedMessage = EncryptedMessage.Unknown + ), + // TODO MessagesTimelineItemImageContent(), + TimelineItemNoticeContent( + body = "Notice", + htmlDocument = null + ), + TimelineItemRedactedContent, + TimelineItemTextContent( + body = "Text", + htmlDocument = null + ), + TimelineItemUnknownContent, + ) +} diff --git a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootState.kt b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootState.kt index d8d9aebb28..2bcc9fc549 100644 --- a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootState.kt +++ b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootState.kt @@ -17,9 +17,7 @@ package io.element.android.features.preferences.root import io.element.android.features.logout.LogoutPreferenceState -import io.element.android.features.logout.aLogoutPreferenceState import io.element.android.features.rageshake.preferences.RageshakePreferencesState -import io.element.android.features.rageshake.preferences.aRageshakePreferencesState import io.element.android.libraries.architecture.Async import io.element.android.libraries.matrix.ui.model.MatrixUser @@ -28,9 +26,3 @@ data class PreferencesRootState( val rageshakeState: RageshakePreferencesState, val myUser: Async, ) - -fun aPreferencesRootState() = PreferencesRootState( - logoutState = aLogoutPreferenceState(), - rageshakeState = aRageshakePreferencesState(), - myUser = Async.Uninitialized -) diff --git a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootStateProvider.kt b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootStateProvider.kt new file mode 100644 index 0000000000..dc9f23afd7 --- /dev/null +++ b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootStateProvider.kt @@ -0,0 +1,27 @@ +/* + * 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.features.preferences.root + +import io.element.android.features.logout.aLogoutPreferenceState +import io.element.android.features.rageshake.preferences.aRageshakePreferencesState +import io.element.android.libraries.architecture.Async + +fun aPreferencesRootState() = PreferencesRootState( + logoutState = aLogoutPreferenceState(), + rageshakeState = aRageshakePreferencesState(), + myUser = Async.Uninitialized +) diff --git a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt index 29aeccd87f..8e84ed8ae0 100644 --- a/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt +++ b/features/preferences/src/main/kotlin/io/element/android/features/preferences/root/PreferencesRootView.kt @@ -28,7 +28,7 @@ import io.element.android.libraries.architecture.Async import io.element.android.libraries.designsystem.components.preferences.PreferenceView import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import io.element.android.libraries.matrix.ui.components.MatrixUserPreviewParameterProvider +import io.element.android.libraries.matrix.ui.components.MatrixUserProvider import io.element.android.libraries.matrix.ui.model.MatrixUser import io.element.android.libraries.ui.strings.R as StringR @@ -59,12 +59,12 @@ fun PreferencesRootView( @Preview @Composable -fun PreferencesRootViewLightPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = +fun PreferencesRootViewLightPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreviewLight { ContentToPreview(matrixUser) } @Preview @Composable -fun PreferencesRootViewDarkPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = +fun PreferencesRootViewDarkPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreviewDark { ContentToPreview(matrixUser) } @Composable diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportState.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportState.kt index 6fb41a9e88..ea62ea1ef3 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportState.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportState.kt @@ -50,12 +50,3 @@ data class BugReportFormState( ) } } - -fun aBugReportState() = BugReportState( - formState = BugReportFormState.Default, - hasCrashLogs = false, - screenshotUri = null, - sendingProgress = 0F, - sending = Async.Uninitialized, - eventSink = {} -) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt new file mode 100644 index 0000000000..bda8487001 --- /dev/null +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt @@ -0,0 +1,28 @@ +/* + * 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.features.rageshake.bugreport + +import io.element.android.libraries.architecture.Async + +fun aBugReportState() = BugReportState( + formState = BugReportFormState.Default, + hasCrashLogs = false, + screenshotUri = null, + sendingProgress = 0F, + sending = Async.Uninitialized, + eventSink = {} +) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionState.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionState.kt index a49d996a05..851b6789df 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionState.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionState.kt @@ -20,8 +20,3 @@ data class CrashDetectionState( val crashDetected: Boolean, val eventSink: (CrashDetectionEvents) -> Unit ) - -fun aCrashDetectionState() = CrashDetectionState( - crashDetected = false, - eventSink = {} -) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionStateProvider.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionStateProvider.kt new file mode 100644 index 0000000000..0ffc9f22a1 --- /dev/null +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionStateProvider.kt @@ -0,0 +1,22 @@ +/* + * 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.features.rageshake.crash.ui + +fun aCrashDetectionState() = CrashDetectionState( + crashDetected = false, + eventSink = {} +) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionState.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionState.kt index 738282f737..aa8990c82b 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionState.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionState.kt @@ -18,7 +18,6 @@ package io.element.android.features.rageshake.detection import androidx.compose.runtime.Stable import io.element.android.features.rageshake.preferences.RageshakePreferencesState -import io.element.android.features.rageshake.preferences.aRageshakePreferencesState @Stable data class RageshakeDetectionState( @@ -28,11 +27,3 @@ data class RageshakeDetectionState( val preferenceState: RageshakePreferencesState, val eventSink: (RageshakeDetectionEvents) -> Unit ) - -fun aRageshakeDetectionState() = RageshakeDetectionState( - takeScreenshot = false, - showDialog = false, - isStarted = false, - preferenceState = aRageshakePreferencesState(), - eventSink = {} -) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionStateProvider.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionStateProvider.kt new file mode 100644 index 0000000000..806d0c6df9 --- /dev/null +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionStateProvider.kt @@ -0,0 +1,27 @@ +/* + * 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.features.rageshake.detection + +import io.element.android.features.rageshake.preferences.aRageshakePreferencesState + +fun aRageshakeDetectionState() = RageshakeDetectionState( + takeScreenshot = false, + showDialog = false, + isStarted = false, + preferenceState = aRageshakePreferencesState(), + eventSink = {} +) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesState.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesState.kt index cb33d37623..acb560ef49 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesState.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesState.kt @@ -22,10 +22,3 @@ data class RageshakePreferencesState( val sensitivity: Float, val eventSink: (RageshakePreferencesEvents) -> Unit, ) - -fun aRageshakePreferencesState() = RageshakePreferencesState( - isEnabled = false, - isSupported = true, - sensitivity = 0.3f, - eventSink = {} -) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesStateProvider.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesStateProvider.kt new file mode 100644 index 0000000000..6ecd59a713 --- /dev/null +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesStateProvider.kt @@ -0,0 +1,34 @@ +/* + * 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.features.rageshake.preferences + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider + +open class RageshakePreferencesStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aRageshakePreferencesState().copy(isEnabled = true, isSupported = true, sensitivity = 0.5f), + aRageshakePreferencesState().copy(isEnabled = true, isSupported = false, sensitivity = 0.5f), + ) +} + +fun aRageshakePreferencesState() = RageshakePreferencesState( + isEnabled = false, + isSupported = true, + sensitivity = 0.3f, + eventSink = {} +) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt index 367f5cd694..dd716bd4ad 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/preferences/RageshakePreferencesView.kt @@ -24,7 +24,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory import io.element.android.libraries.designsystem.components.preferences.PreferenceSlide import io.element.android.libraries.designsystem.components.preferences.PreferenceSwitch @@ -77,22 +76,14 @@ fun RageshakePreferencesView( } } -open class RageshakePreferencesStatePreviewParameterProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - aRageshakePreferencesState().copy(isEnabled = true, isSupported = true, sensitivity = 0.5f), - aRageshakePreferencesState().copy(isEnabled = true, isSupported = false, sensitivity = 0.5f), - ) -} - @Preview @Composable -fun RageshakePreferencesViewLightPreview(@PreviewParameter(RageshakePreferencesStatePreviewParameterProvider::class) state: RageshakePreferencesState) = +fun RageshakePreferencesViewLightPreview(@PreviewParameter(RageshakePreferencesStateProvider::class) state: RageshakePreferencesState) = ElementPreviewLight { ContentToPreview(state) } @Preview @Composable -fun RageshakePreferencesViewDarkPreview(@PreviewParameter(RageshakePreferencesStatePreviewParameterProvider::class) state: RageshakePreferencesState) = +fun RageshakePreferencesViewDarkPreview(@PreviewParameter(RageshakePreferencesStateProvider::class) state: RageshakePreferencesState) = ElementPreviewDark { ContentToPreview(state) } @Composable diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListState.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListState.kt index 5e4d0947d1..e9a48a7249 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListState.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListState.kt @@ -19,7 +19,6 @@ package io.element.android.features.roomlist.model import androidx.compose.runtime.Immutable import io.element.android.libraries.matrix.ui.model.MatrixUser import kotlinx.collections.immutable.ImmutableList -import kotlinx.collections.immutable.persistentListOf @Immutable data class RoomListState( @@ -28,10 +27,3 @@ data class RoomListState( val filter: String, val eventSink: (RoomListEvents) -> Unit ) - -fun aRoomListState() = RoomListState( - matrixUser = null, - roomList = persistentListOf(), - filter = "", - eventSink = {} -) diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListStateProvider.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListStateProvider.kt new file mode 100644 index 0000000000..08e2afa2ab --- /dev/null +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListStateProvider.kt @@ -0,0 +1,26 @@ +/* + * 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.features.roomlist.model + +import kotlinx.collections.immutable.persistentListOf + +fun aRoomListState() = RoomListState( + matrixUser = null, + roomList = persistentListOf(), + filter = "", + eventSink = {} +) diff --git a/features/template/src/main/kotlin/io/element/android/features/template/TemplateState.kt b/features/template/src/main/kotlin/io/element/android/features/template/TemplateState.kt index c97954173a..b9a48a7378 100644 --- a/features/template/src/main/kotlin/io/element/android/features/template/TemplateState.kt +++ b/features/template/src/main/kotlin/io/element/android/features/template/TemplateState.kt @@ -21,7 +21,3 @@ package io.element.android.features.template data class TemplateState( val eventSink: (TemplateEvents) -> Unit ) - -fun aTemplateState() = TemplateState( - eventSink = {} -) diff --git a/features/template/src/main/kotlin/io/element/android/features/template/TemplateStateProvider.kt b/features/template/src/main/kotlin/io/element/android/features/template/TemplateStateProvider.kt new file mode 100644 index 0000000000..7541e1667a --- /dev/null +++ b/features/template/src/main/kotlin/io/element/android/features/template/TemplateStateProvider.kt @@ -0,0 +1,31 @@ +/* + * 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.features.template + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider + +open class TemplateStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aTemplateState(), + // Add other state here + ) +} + +fun aTemplateState() = TemplateState( + eventSink = {} +) diff --git a/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt b/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt index e6a70858ab..c7456ad49a 100644 --- a/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt +++ b/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt @@ -23,7 +23,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.tooling.preview.PreviewParameterProvider 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 @@ -41,22 +40,14 @@ fun TemplateView( } } -open class TemplateStatePreviewParameter : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - aTemplateState(), - // Add other state here - ) -} - @Preview @Composable -fun TemplateViewLightPreview(@PreviewParameter(TemplateStatePreviewParameter::class) state: TemplateState) = +fun TemplateViewLightPreview(@PreviewParameter(TemplateStateProvider::class) state: TemplateState) = ElementPreviewLight { ContentToPreview(state) } @Preview @Composable -fun TemplateViewDarkPreview(@PreviewParameter(TemplateStatePreviewParameter::class) state: TemplateState) = +fun TemplateViewDarkPreview(@PreviewParameter(TemplateStateProvider::class) state: TemplateState) = ElementPreviewDark { ContentToPreview(state) } @Composable diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt index c1e5fa7e8f..8d6eb0fa4b 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt @@ -100,12 +100,12 @@ private fun InitialsAvatar( @Preview @Composable -fun AvatarLightPreview(@PreviewParameter(AvatarDataPreviewParameterProvider::class) avatarData: AvatarData) = +fun AvatarLightPreview(@PreviewParameter(AvatarDataProvider::class) avatarData: AvatarData) = ElementPreviewLight { ContentToPreview(avatarData) } @Preview @Composable -fun AvatarDarkPreview(@PreviewParameter(AvatarDataPreviewParameterProvider::class) avatarData: AvatarData) = +fun AvatarDarkPreview(@PreviewParameter(AvatarDataProvider::class) avatarData: AvatarData) = ElementPreviewDark { ContentToPreview(avatarData) } @Composable diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarData.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarData.kt index 199e6f575c..7f2cddea09 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarData.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarData.kt @@ -17,7 +17,6 @@ package io.element.android.libraries.designsystem.components.avatar import androidx.compose.runtime.Immutable -import androidx.compose.ui.tooling.preview.PreviewParameterProvider @Immutable data class AvatarData( @@ -31,17 +30,3 @@ data class AvatarData( return firstChar.uppercase() } } - -open class AvatarDataPreviewParameterProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - anAvatarData(), - anAvatarData().copy(name = null), - ) -} - -fun anAvatarData() = AvatarData( - // Let's the id not start with a 'a'. - id = "@id_of_alice:server.org", - name = "Alice", -) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarDataProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarDataProvider.kt new file mode 100644 index 0000000000..f70240f8e2 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarDataProvider.kt @@ -0,0 +1,33 @@ +/* + * 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.avatar + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider + +open class AvatarDataProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + anAvatarData(), + anAvatarData().copy(name = null), + ) +} + +fun anAvatarData() = AvatarData( + // Let's the id not start with a 'a'. + id = "@id_of_alice:server.org", + name = "Alice", +) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameterProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanProvider.kt similarity index 90% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameterProvider.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanProvider.kt index d74f24e6c1..43d0f9e797 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanPreviewParameterProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/BooleanProvider.kt @@ -18,7 +18,7 @@ package io.element.android.libraries.designsystem.utils import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class BooleanPreviewParameterProvider : PreviewParameterProvider { +open class BooleanProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf(false, true) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameterProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedProvider.kt similarity index 94% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameterProvider.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedProvider.kt index 645d53b92e..0f53d44e44 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedPreviewParameterProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/PairCombinedProvider.kt @@ -18,7 +18,7 @@ package io.element.android.libraries.designsystem.utils import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class PairCombinedPreviewParameterProvider( +open class PairCombinedProvider( private val provider: Pair, PreviewParameterProvider> ) : PreviewParameterProvider> { override val values: Sequence> diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringPreviewParameterProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringProvider.kt similarity index 88% rename from libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringPreviewParameterProvider.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringProvider.kt index 64d77a1d9d..4773259985 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringPreviewParameterProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/StringProvider.kt @@ -18,7 +18,7 @@ package io.element.android.libraries.designsystem.utils import androidx.compose.ui.tooling.preview.PreviewParameterProvider -open class StringPreviewParameterProvider(val strings: List) : PreviewParameterProvider { +open class StringProvider(val strings: List) : PreviewParameterProvider { override val values: Sequence get() = strings.asSequence() } diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt index 84eb655b05..18b767bce7 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserHeader.kt @@ -84,12 +84,12 @@ fun MatrixUserHeader( @Preview @Composable -fun MatrixUserHeaderLightPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = +fun MatrixUserHeaderLightPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreviewLight { ContentToPreview(matrixUser) } @Preview @Composable -fun MatrixUserHeaderDarkPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = +fun MatrixUserHeaderDarkPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreviewDark { ContentToPreview(matrixUser) } @Composable diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt similarity index 94% rename from libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt rename to libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt index c277ca42c2..53a5e7a16a 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserPreviewParameterProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.designsystem.components.avatar.anAvatarData import io.element.android.libraries.matrix.core.UserId import io.element.android.libraries.matrix.ui.model.MatrixUser -open class MatrixUserPreviewParameterProvider : PreviewParameterProvider { +open class MatrixUserProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMatrixUser(), diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt index 246b435f81..2355330907 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt @@ -89,12 +89,12 @@ fun MatrixUserRow( @Preview @Composable -fun MatrixUserRowLightPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = +fun MatrixUserRowLightPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreviewLight { ContentToPreview(matrixUser) } @Preview @Composable -fun MatrixUserRowDarkPreview(@PreviewParameter(MatrixUserPreviewParameterProvider::class) matrixUser: MatrixUser) = +fun MatrixUserRowDarkPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreviewDark { ContentToPreview(matrixUser) } @Composable From 968f7f80fca00733a5fc3daa04954538f6375ae3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Feb 2023 11:57:40 +0100 Subject: [PATCH 16/62] Improve coverage of BugReportView. --- .../rageshake/bugreport/BugReportStateProvider.kt | 11 +++++++++++ .../features/rageshake/bugreport/BugReportView.kt | 13 ++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt index bda8487001..35f0bb7db7 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt @@ -16,8 +16,19 @@ package io.element.android.features.rageshake.bugreport +import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.Async +open class BugReportStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aBugReportState(), + aBugReportState().copy(formState = BugReportFormState.Default.copy(description = "A long enough description"), hasCrashLogs = true), + aBugReportState().copy(sending = Async.Loading()), + aBugReportState().copy(sending = Async.Success(Unit)), + ) +} + fun aBugReportState() = BugReportState( formState = BugReportFormState.Default, hasCrashLogs = false, diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt index 1ebc9c83e7..c66247f0b4 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt @@ -40,6 +40,7 @@ import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.style.TextAlign 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 coil.compose.AsyncImage @@ -107,7 +108,7 @@ fun BugReportView( .padding(horizontal = 16.dp, vertical = 16.dp), fontSize = 16.sp, color = MaterialTheme.colorScheme.primary, - ) + ) var descriptionFieldState by textFieldState( stateValue = state.formState.description ) @@ -209,15 +210,13 @@ fun BugReportView( @Preview @Composable -fun BugReportViewLightPreview() = ElementPreviewLight { ContentToPreview() } +fun BugReportViewLightPreview(@PreviewParameter(BugReportStateProvider::class) state: BugReportState) = ElementPreviewLight { ContentToPreview(state) } @Preview @Composable -fun BugReportViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +fun BugReportViewDarkPreview(@PreviewParameter(BugReportStateProvider::class) state: BugReportState) = ElementPreviewDark { ContentToPreview(state) } @Composable -private fun ContentToPreview() { - BugReportView( - state = aBugReportState(), - ) +private fun ContentToPreview(state: BugReportState) { + BugReportView(state = state) } From 92d3a1c811feb67f99138498af9ceee4a75d6ead Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Feb 2023 15:18:22 +0100 Subject: [PATCH 17/62] Add a way to Preview images. --- .../bugreport/BugReportStateProvider.kt | 9 ++- .../rageshake/bugreport/BugReportView.kt | 4 +- .../designsystem/components/avatar/Avatar.kt | 2 + .../components/avatar/AvatarDataProvider.kt | 1 + .../libraries/designsystem/preview/Images.kt | 40 ++++++++++++++ .../src/main/res/drawable/sample_avatar.xml | 52 ++++++++++++++++++ .../main/res/drawable/sample_background.webp | Bin 0 -> 24990 bytes 7 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/Images.kt create mode 100644 libraries/designsystem/src/main/res/drawable/sample_avatar.xml create mode 100644 libraries/designsystem/src/main/res/drawable/sample_background.webp diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt index 35f0bb7db7..a5dd2ad947 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportStateProvider.kt @@ -23,7 +23,14 @@ open class BugReportStateProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aBugReportState(), - aBugReportState().copy(formState = BugReportFormState.Default.copy(description = "A long enough description"), hasCrashLogs = true), + aBugReportState().copy( + formState = BugReportFormState.Default.copy( + description = "A long enough description", + sendScreenshot = true, + ), + hasCrashLogs = true, + screenshotUri = "aUri" + ), aBugReportState().copy(sending = Async.Loading()), aBugReportState().copy(sending = Async.Success(Unit)), ) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt index c66247f0b4..024d6beab9 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/bugreport/BugReportView.kt @@ -51,6 +51,7 @@ import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog import io.element.android.libraries.designsystem.components.form.textFieldState import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.preview.debugPlaceholderBackground import io.element.android.libraries.designsystem.theme.components.Button import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator import io.element.android.libraries.designsystem.theme.components.OutlinedTextField @@ -177,7 +178,8 @@ fun BugReportView( AsyncImage( modifier = Modifier.fillMaxWidth(fraction = 0.5f), model = model, - contentDescription = null + contentDescription = null, + placeholder = debugPlaceholderBackground(), ) } } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt index 8d6eb0fa4b..222d2a1502 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt @@ -36,6 +36,7 @@ import io.element.android.libraries.designsystem.AvatarGradientEnd import io.element.android.libraries.designsystem.AvatarGradientStart import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.preview.debugPlaceholderAvatar import io.element.android.libraries.designsystem.theme.components.Text import timber.log.Timber @@ -69,6 +70,7 @@ private fun ImageAvatar( }, contentDescription = null, contentScale = ContentScale.Crop, + placeholder = debugPlaceholderAvatar(), modifier = modifier ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarDataProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarDataProvider.kt index f70240f8e2..5e4bad531c 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarDataProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarDataProvider.kt @@ -23,6 +23,7 @@ open class AvatarDataProvider : PreviewParameterProvider { get() = sequenceOf( anAvatarData(), anAvatarData().copy(name = null), + anAvatarData().copy(url = "aUrl"), ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/Images.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/Images.kt new file mode 100644 index 0000000000..f1fc1b21f0 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/Images.kt @@ -0,0 +1,40 @@ +/* + * 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.preview + +import androidx.annotation.DrawableRes +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalInspectionMode +import androidx.compose.ui.res.painterResource +import io.element.android.libraries.designsystem.R + +/** + * I wanted to set up a FakeImageLoader as per https://github.com/coil-kt/coil/issues/1327 + * but it does not render in preview. In the meantime, you can use this trick to have image. + */ +@Composable +fun debugPlaceholder(@DrawableRes debugPreview: Int) = if (LocalInspectionMode.current) { + painterResource(id = debugPreview) +} else { + null +} + +@Composable +fun debugPlaceholderBackground() = debugPlaceholder(debugPreview = R.drawable.sample_background) + +@Composable +fun debugPlaceholderAvatar() = debugPlaceholder(debugPreview = R.drawable.sample_avatar) diff --git a/libraries/designsystem/src/main/res/drawable/sample_avatar.xml b/libraries/designsystem/src/main/res/drawable/sample_avatar.xml new file mode 100644 index 0000000000..d3e6796131 --- /dev/null +++ b/libraries/designsystem/src/main/res/drawable/sample_avatar.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + diff --git a/libraries/designsystem/src/main/res/drawable/sample_background.webp b/libraries/designsystem/src/main/res/drawable/sample_background.webp new file mode 100644 index 0000000000000000000000000000000000000000..b05f3b33a0c2e7f77d2f9805cfb15f600fd57c7a GIT binary patch literal 24990 zcmV(zK<2+vNk&GNVE_PEMM6+kP&gopVE_P-kpi6oDgXqk0zQ#Oo=c^pwyz@+>1xmt z31x2lATsqOPvFt#v)h0^`2Btn_TTg$_#D4^clSR5_+QW)_aoN#9-rg&3iBAw8il|6 zyv@2;`4to76R6~a@$ZITTKq?zUpV9s58pBVi2iqc&H76Jq;+2UKzXV9#{Tl<1$-y} zZ=;Woc30@guE_rhqTo~o<1_m<`tfjx-D*g9dCOaASc~xw;?U$p)k-Z6L|iKoelh!W zl0R;eNADM@1VhT-qth=~PnSx*VQ%B5M=w$u;xG+s^0665CS2ft9j7H(dX#wm>!BA# z&$Al0^qcvKA-2Kb?!Q#KkXCk2uK%2S0PRt^V^R&;43;Q9hGW{XoV4A~zs&NPKsV@_ zq9curHk^ z6p}zNq$QKG3@RVHK)?ArXl)zGNk4#opIFvYQzvVhPg*-Hp@PPsW6b~(8A%P!c0vyh z?s~%&p3z_KU}&ei0L*}wPn}8~bpey@cTf`nms5*!ZP`V!1Dvnl2IK_6l3-Vf!5349N5G*o(&G1>lPO4{Cwv5H zi?#2hZ%hI6xV&H6$}pa`m0X&IErtIdQNCGF|45xm9-?GhH@)@v6~$PoCPR&ya@ay~ zYnBRJS0K#lP6Q}v;t!Z!{YPLhRz%WiZ+2V&19pYpwOCb7-^y}0tB z-b7rB`iEBNXu~m)ZY1405iARF7vCs@l%hPTcqsd}iR3z=YNQ>+E|R>@YPhYzf$>%8G%Gs3OJBZWa+<9k~h%HST@r=Im-55QZD%06tvWz*ogKYFN1&MFfuwS+J% z>-G65fkmDLhp+2VV_|(fitx!`0$(zz687KJ?b6b*>shTO8O@r}Ivd{aTurh!=SPJX zDy2kT4VJsH6S-#ilRXBrg(Rj;q5hsv7svg1rHk-o=_Aw)Hy;x~(2hDz36F=hb=en$ zG9@1UI>VQvwX-R8Tih>nqgTJ+F>iM#b6Hz^b~yeN|FZmzQIu;kfHKWS2{ zFqH5ZdMIIYLQ+u8^c^zJ6lj_!zP#1S@XVKagQii}fm_Y}^P=wJ<0)qu?4LB7KQ1K@ zP_N`7N31l`oIbm3sb9N;s+6`jZ*L)cWV$6=RsS)-kFva@)(mdJ3Cs71o%cK?QQO28 z8UOtdn)u^@D-!XEce=~)2uwA$l^6~7!e3KE*^+&{G|)L0@HmR0=GU7skcq654ejYt z?K?*#>yFHlk2T`&Tfz(#c-U_psV}2!P&4=3-CXQ#%ztIv@)HzbVy!CQr~Z&QaCUhK z?r%S+Ctv8M534-|s}LxoDlqdYnPYAiXWAAX!K-IH5; z`Z#8Qkl+2XgwOK(!_noulB}&Yk3i2N3-yzSfL|%iHBJgGR|J7QfEgvQPL!XYpKEM* zW3*SP^CdrKOJ5x~Yz-nhm=iJMzuD)M^3Y6@nq8P-DXP>@cq-h^{weD&AAF*}y=)>{ zu@Q*0IlV+Rl_F`-)H|6?P^bUK9{tnHcbST*OR3d6w><>S|41iGatZGy1fPrYCkvLN zj{PCk3RIwM)w}e^U(r z;p?#~5@Wkgzw$4`lktM1(;KEi^BbyKKXlrfgg9_qTo-6__v0k&kV#xOaBQrJ% zia%IN4y3UxAb?V?^>tEFoelqV2$I=vTr%q2OV+kLca-45H2k{|sqZjBDa#X~pDOGk320y;#_WEy(AZXp zOU}BtPM#OC3PoT2`SDH*rJCT z6#kBC@YC_GMZ{FON*tz&AR(4@qjUe15`-*up+^#6?uQR*?@H#1Ti5EE4s+ueN&5N+ zZl`x@h2+)-#*B;6r?rV<4P)9ur1wUexUmwPlO`LX@4|;_+WzJF1K}kU=Qd=7a-8mf|@6qPSpsUzYnxL$m}ACmbDn|iPZ7p-__ zOArmOYK7mOff5p-D)>IP*|4LL=?j5kalXso&jjh>0s?uNHMG-;KN2P|$?jRAhJ@axmZzVx0>7!z{||#McN^#-TU+NKN@zntn^!_L zvHZN`@sZH~PgOm}9kLkiK=gUlG6H2;N2)Iuw7Qjae)%X)`@MkzR8#iKHECRP!azzc zNso0e3X!xF>186Dyim6Gh7m{<*js z4IxebR9t(!eAVH{KjIBdAnmj>GXDBWX91i(OVAxiaXpJrLzS_*jBQ){+@(R)7jdMLlpsf&eFlG?eB-B+fVw8 zzYvZMHeMr2UCjM_V(>{?R4@_tav!^#o);k^k9o@`$m?jbMw^WY_2V=`dQJ zNHhnZ+8bZ+4w&Zsh(g+lN9Ef~=}Q#xMs z_}$Y(uWS1Ii}9|uXSEyQg34Jvt((u)YJW!0N%xY4mKFr%O9u}K9&38^HF z?<-e;KOKQ3ZNw6eAXQ3zMw2R2&v9t{!D=vnYwmZ517)}*#alNo^Q{X6(oUeM1u*UZ z1MB4D=8K{i#nUU7e%N3NC!97*>K8{{arU-qZQ>nhN+avCQuu%{9J9@6x@43vPt^&> zrQ<^C#L7}N*%sq}L}kRTxOEiLLAFaT0Nvz%i!&x!AH>FS$z#F{fw4diC&~2)?KOo! zxyqB1jQk9O;Wan|sABaC-hHfQRUaMcpaZY$Q&rtbZ(T_Qz+!i4sFQpV8ES^LM^hvj z6vuih#IxgK`>Ci@m^QGyl8SGNq(~yzU(xQcR@9q>ypf<)b3BuMt0z>Iyrf(Fg&97* zT@YfsaCJV2T8mU=34muwwhVn$1|P${(zFvh6j^=M4X72qFNZfL|Mtt03gNo_g5N5{~6nS@P?TuBK%>5aW*w5g;@w>UVh!*%f_)yBXhEmcl% z_nppBZoj5uC*EcZ;TK$H2{SPW!IYRjb){)ctS(1ztOz;;OETQ>;QwVbwqZK8Kt=0P zQLrJUelzPx{K&jXU@MlFRfDbihM;1lyMRY8q5rAmRwB|-IT3St*paRo7W+STYjU=z z6X)(UCPptJ zc{tKn)T`g65~Y;E@dTiJhN)c2&f~e!+e6`K0&?v#$TcYN+c;;EAwzL24D-zslhr#= zsOP5{4b)8B&($6F#0&-9<2#7HhKziFKLFPPLS)q;BETvePd-nX=;cU4Omt5|s57+> zgWuJ5Kdtdhync4mkY=zuTcrMorrr+XEz7la*!mnGRVdOreoKPJLS6-ONB2_KIl=@% zKR_Ya+r%9*zZK;!753cP>u#TomNoya*EQ9ig*rg6;{9Wa++M?=E@Yyx{1uLA`JBX> z0y{L8`p=Pjx4{VP3^NWl(eHx*;HSSBSybZW9aVz+e`D0iCf}Dkfs!nro%4L*%JQ@B z!syx9@gw{#IosJ#-~j)~?CCUO(bg+iDx=X4ac^k$2+ttU?W2zL#}72*sZ(wg>Uh3m zH^)&^{{w@as!HR1q*O`~+>Y%c8UVp|wbj&bF6Y>+W={yB_qYq2Ds6p+Bma-=@=pX) zIvs;Yf#?X4vOwL*U5XG<>7y*Bfg_P=Di@VMm*X4-%4G$|U*N zhN%oO225l&#utKd)YbcjZ=Iqr;gm$V$G#?kHyA;~GUvZkUyzKTdA4o>mFj}yl*h{X zRNQwEXcRYdlZ>OhomT$1+ILb@2Ly5&Z~F?31OF)(-iF>*vyt5Q;k_DM zc&A1)NVQ$Yo6(nDl8>5Yl~?d>t0J89aaND33~tqE?hSuTr)q2)_&{)(RCPg%@Sw36 z;qmKe$OL|eu}Z2&>^IJY(P-7U2hq9@4iiv$Y8jmeZl2b-VMo(!mBkHUf6;){irtO{ zQ3R=?2*e@ai4(J^G2iMcbzf#xuHpyC6;SMIR%WpNty(NX{=~PboElbDB_Ktja#f-W zb`s_p=dZ?Q=RR#*s-%^%(9pOvm^#9QzZxqm1mU8C@6-+~n*kEoBlB|v0iU(#_x*%* zVlCNtk?+8A{VzPb$HV~wD0;0_0k3Vtq^YbamAMW~Hb2g$){ z?Y)FI>c-AMP~P8=!8t7Ztqw>%5hdUpBiHJLcE^3+k`O=f`Y@5-JS1PiH51hceJTeT zNBr_XZJqC-duPzx22{>rrh)Mv7My%d&IBl7*WjD_Z&Gx31fZYhi+gc^0RFEO0sp?= zT>jytfBCWL|GLat_n6AWANMz9up`jK#%Wxw%cDx92oQ*k5g(Z`U8zjzk~vm_LV$=(Gb@`Kz7jLyD3N*XR2W$g zL>@KupqpTWnS{5@6?^3tJ{fg#!zz-`%PS}OgS#l0UNUa6rH5;1ZCP6m))7;!MaVrs zBl1@TaE5$o3oLhci#D-OID9C4lgM6gN;)3#G$9g9c>zs@%Hl6&JVS>deF>;j}`ff5W#s*TeQGl2FwdojTi=I{Uw4D~EwfGPrrJrnx3=bGdHmF2Cr zIWPwZUM`QM&)C6VfhnEaIx|r!Nt_cYgbnFn2J{}HTz{VeyxNkuT`Jk;{G1D6{KA&0 zAch~y1KJ=%1-a!Os1t0(2I8nN7;n!w2eP&dQIv)i?au+@e}v-zd{Cn;5uzlhMT9Nt zO!vsRxVfg)+JFQ(7#vC4!o1mbicpc9VZm{&Fbc)0J8wb>@=o1XUbZJ$9gNtlpY>CC zd-t10Z*p9kfwU8TedU3M9npgmPB$z+O^R(*U}B=o)q>(Y?`1t@`U0+&n{EM-`-U}* zucf5)a@YvTi{GKIR!+!j^tKw;n+t-?*DjerUj6f+fq*)my8VMKXL6b)s#_52EqqqB zet1geS)^n%ZGn-2`8eT#PIl#XDFSuf zabokbLnF1syrHOf^GQ&j_&l^f&<3SxPEdO00E+M+yEHG#>0DW z0n$u#-pc;XILDSG{R&Zv{o_zJSNU2VY4iX>Wdp}?JfM}eya_`9!zy-;d3jZp3<-sv zl4S)R9@9#J^%S95;UxDn(vZFDMASrCbJ3|+`1Ycnr^h)^0QGx#8EMduU73dtxcUO;neXYUk$yF=NPX3bS|3CL04xovp_U_i%k( zV8#nlgq-1RMv$yoIY++YKB?!ewGOAos0a80TYcBq3ChvgJd+u`I_iuQ!~+Aefa{7= z0Dwts|IOAUi~YjJV*ri9#J?H0pCGU{!Rribp)>(`Lt23Q?23p)&?O5(U6uTKCQs4}e104J2{DVR9) zlgUj*B9(qbxP^d;DgqFPT{so!e!fBj1lyO;x3s@K=^ z5lHrKJ{4&#I0T|#qH^(ja3G8mNmt&1*%%K)eYPoKb~`*Jjwa~m6i@5N4^sNQ*K<7DmAAvTCh%S@9(@Q>LWE7p(2Gek?iySr#cbK++~n}R{6rg`|SXs zlvxp^g9ZZU%_z@^5)Rwgr9uRTHdHG5iMq1oXG4NKK==ntS^80^EqD6#MxP#%E5}}N zU7^^pnd!rat()-mav%usHpx5}4N{T=Mi@>3DNnHmX6lmhfyi*Kj+P+Mox>@s0?0(y z<*hm2)<;hxDQkYlqT}dgFIV%vnxt%?^HQm#LQWZftoZn&g3OyrT=uU`_XEPu$Qsuf zHu+B*L_r;vnoNm|nQn=O5*e1QyU(G{S(Y0@KZfN=*alNX1I>dv!7x-mKrua(}?&+}Y9PbuJ75IS=eOH71>@&X%Fzw>4BM$ha;n z@;w-h7ZS#;%!h9}@=`+e|DbbYPrE6iP3;MQZk*|54fcOzUaML7am%#Jg8Mc`1r8u&y zjI&D;R8*+(=*Wy-8uN{(Ri9Sv$q~A8$on^E#f0s|q~oy>Ur_e{@BiY<)ZqPPKG&`% zuaJY{Qr@@>h*5{0hi@jqh2u^X2%INshBtpg-ryTh=1$M}o^be3D8J zc85IzsVd^dMo}4ibu9e5Lw{HKs8XTE8^Mas^ml40-zh!v*(zIpSS$f}yi?@{?$ZvB zG(zNHNI$+WAdf2#e+t0p2*X-^X!YZ#um0M?SGX@ez?r2#6!*^_7Pxvc(2|LFN(t!sBHtI$E> zbNn9H)3FdTY2H{6n?@rCQay2W=~>L;G=6_+vs<{6Ce(6foaeTFCre{714X)mEf6B{ zk?{rv2!0O)VdohGEB#`5Zid~Co@AYY(jkGVmX-SY(W2b5l)M>8uN!?kDpq8VlquO?A7UAX!=0z_%C!4W@US;TNZ~Z-yRv@ z>QD3jMi->(9QtWL%xAp{K-NzRB3c4jz#ebVdtxD$aV$6+K z;8KuMkxBNSqT8w3mma9StZ~2rD4Md1KU4chM)Z<72x{c=mJQ(Ptn@YL+`6og2~|l0S0|7vC*v#HX(&VJLz(#@Axl9bKSqNo0P=J_(#&ykx03pQmPSyX z!g<5a<*T15x=+`G49`c3v40--wNmBpgvreNgAJ1Rx7cs(p7scR6uB~kar<$%kJ0{u z#5IF%}2b_bE z%azTX!LvvAaeH(PL5^rraPzT>;$0HkR@RKRG!AmgfeVDr58 zj#eGXe}OpYIGtX}r3G;SmVHnBI<`=e1$f`INFzKG5aHX}6#dz$RXO(!Nj$uW#XCUO z+RI`ePK<@omT`_p-~daKY>kV`o56->;TcjrRdF}1;EvA&@V0}InmTuYx z?B(-MVtxlAy{gMYV1!#Sox3Jyi16xqHch4!a2~G-jd7(-$oOL)t+okgvA;9WV47@x$tn%NtA)Yqm`g6xw^n@cT+DKXBNcIuW@!nSoAYc ztvEFgE4Y3ADjdL0~@;P}GCMk8`QSqxqlp$zAN5glzd?Mbe_?F9svLXV5N@lnXpUAd~ z7sy3&y0YWXMtOO`@=j?}T6v;Y9qHmUbQXkh|6GNX+MqK3R^T|>p>alU+dz1Inujbp zN7M8+>OD@igD?c95`?%5LqlzrpcdU0jFD}&kex2flB~1Aq4jr@Z-`1QT6dpD$X5Vj z0`+Og9%oquIPE3C^<~+$AHNL!w28()4lsay<`Th75M5fJ5b04_!rwq`=c*nkemD;s zIYkQ^ZtB^V$0oqz^s;VG93Lys&2pyPHlvF=vG^Qsaix>#+vT(gz~fb#>I0%RJ>@hC z^PZwOTPHH#!1`0n^Q)?}Z_LU>lROs1({4e72DL8a&mP&A=0#9gGGPKp0{2QXs@lB! zhSBokl?mVZHnT|c(GzL}a?3Ni%GLF3 z69e;T89o+AdI!;WhDUKYADWi+_vtTizATCBiVR|3Fe6sdq6P1I(6aa+prktdDc1V1 z%O!Xb3p7>Jj6|W!u2WJA(C9e{n7mPsyv$NziOgJi;L>6kL&R=OpS~U}&ANl7S#Ae_ z25vI!i!oah3YY`T;1iGitF90;$(>J@!UUsefQ!ga&nkuc1JdaDySsJX)0~FLH@jQK zP#tU@DXbkVn{lpEc~MYr4-5(Z5a=LH4v9@?Kn28SAa8y(Y`ctn54kDe5#U}jg7Vg< zex!TF(Qgd#IRfzBmF_lIC%V~L#XydpC9oE#?E;P*oV!EmsTndhS4NqpLD;-EjDXTR z#PIZf!S=~mN}NfgP^(S~@T=uxj(h%Fg>gwXG)uBIaSShes25LTrXlKd+Pt}-C;ws9 zO1^a`JVE8DP&n@)Y1~4pUhH5R%CF(YRbOG7hUUR#?QP6gtYmEBp=q*DpPLRXDu-_t zIE>Ruv$H?jfNkReyZG(3;tw2@&>bwPY3X$*3ZC#lu=6mQrO@-sXXP_xDTmWr4=!~$ zO?n8vS02gF2+nCJD@26qDzIM|z_K2I&P!X4Af zrpGsc>!=Kep#KN2>qYN%{6NEbuX*xJ)D#Dd$rZyb9SQc>X}NA4c)(`eicQlssWS@( z2#z+qL^Z)Ckegni;b)=hBIJN*muE0#!(vofkb;!<-=zhi6{7T@|MW}Si-#>8lDMN?;+8Dp<{5S(EUMhNU=YDAe! zeBD8SPF6f$)|@o7Ms>4WX%=~e-=QopeD~t_Yl-VUL?rkN=Z8Hg( zw#kV2;&16yW-@T7WRx;e&|)O<7>fq`h|<{YB_=76dCBvyCd3gLrA4zhmi-bi@85nJ5e4%=B^-N{$FanTgdh1Rbp=uXI3$?9*ylDW zjbt%ZFJE9j!MIF#XD)KG?fmW7i0Hv}?@HzcxEWO?s$Et{H^%B?ftf>nD&$QT_snKZ zx|-TLq>u0~(Ts=;dldv`TK_M0yiK~-EJ%WZDyQEbwFP47Q51kH4)9o({-U4EM*Z8c z+nj#K1#E4!iq-;#HOs~W;!QdZBa8`qv`{|JXBx0EUrH=l)!;ErhOG&ksq~V1B1NaW z3=Z|oQR>;g(muSVno^|hTl@kb-FX!Z3HX}NX0!QU7?!^-RbP(6oj9qt_ji5ukysxT z@Pv&LFI&Nb${TD%9~qF4AH~4Jx^0G=;m<%4Irw=s0zjEO5OXiqK{W2jK-9Xuunvm>d%RN-qLJIF>DIuRyD z9W33C0hn~K!&Tf^(v`=y@1+H3SIE8E7Lt4K_4Rk9$Pj^!RsX}z<*bZf$C(6E>p}E1 zia{GApE#r#9Mz(7z=*_r%JWd!n)k~RizHbtAt*&0WIIBHw3HsY% z+_s{2qYmYZ-TG(vklF=7t12bVW^?t<2X7i*0Rj_;?Z2=-mVGZvKqC=|S!+cNH@9>9 z4!KpkE>}U-nGa`B=tE`N6-mZ;?XcTA!!+c|@;yX8(~#{g1N}-q^p{d#P_%YpKZ1xYxoOm`K z^2h~LaU}gn!k|%Y7W})?@Bdw%W~hZFg2Qsl<3r(v*>aTtR~BjGN_dW%fw^L0aTBut z%1N}kt?Q~Sv<*&m3aiR2JV9V<3ddP17={pc&Nn$Dpr~J??#$m$))4Gx0 z1n?1~q65{13pw-iCTn*M`bo(}RLpc_o$}jUe~9AdIji2=E4*dL-;3dT`VU#ujc4W` z3+4GAI4~pA(VmUw_t%%0v`E2)c2VL=FlHoz1_(*ZeEU>nBU|grPFujw6Cr(-Z)mG4 zbTGhjNWTokIHf6HSa`YdF4NeYkA<$wC`UU_wAN^u>^4!$2sk5SB3KK zbXu%N(YRNOEJPqYL}})Z3-pYc)dQq`&(+yERjV|R$z5DF7ZRVTNH;3WZ5jN_GLqN;{3>Cmab-f?dUVe! z1*;=y%BK$N$HW}A_edGK^GwG}U>1PTt(n_0^|q5hJNng}-(;3}$FjjObGrbI!B^0` z(L~hD+-kMw2$_cqt$%%m-dqQd8;<(lPMgl69-ySc(T4+LNAr+kA55oPb9q1 zXZc_tNC^7af4rv+ZV?8}MjY1w%QtTo~NG37U+jc;gz#5Gm zRx4%9S#);qSI05X?~f=@Hw0k4C3DyAJ_`y1V>K$Z{PxQb?Qt>3Lw|UYl{`vmYQ*uL zEMRembUG^ocfQfNVygEvk}jT09~+b+hB0C7aU? zuX56obpC4}vAaW3;*XaXIU{MI+gA#NbX6?6RB(XfbGWD?rD7{K9GE$fZEwtQ1xoF7y29JCi&*K{nTcQJ~dU%=b9 zIEGtULWZXe3g@G)Vzl2Q+D(P2jd(AKSDwQDN17WF4>{UKCL~35Ra2%x7bX0O^2666 zt)utJ$f##=yr-c8dixb+tiYg~EAxPwX=^GSN3Wbxc?l!&kH%o^kyGdfjMoq|FPD86 zIefQC#oumo-DM!#a?;-{BE!QKHAKQ%!gA}gcR_;wD6z}{owlA~+nNxc>Wwmud2Ih` zWOiTK88~$MuUJ;6vdo&EqI6QYQBD`ePcR~&+=84gkB>}v{8(PN^U+SgL}ZJMbD4z%M+9isapqz z*v7|ALyCg7&L$%k&Xkz#<c*$mdQz(%8FSs`iwARgdD%jH*t;Tkjv1G;$kJywf6`cVlaV|43{RVEHTtG|EVj!L z;AbdM>KXN7ksdgGCl2Rtw@um#cdfQ&^%W{6ddA-Ck2N>Q{vR}_f$u7QoR}p6K1)TU z&o^2ntWR<#ZBXyqY9E*Cn%X}%P6?}3b-N?0f?o|jfx+2c;0ke6Ty8>>@xeB;bF}aZ z92mgDsn)|t{D&gf?rPA~#heR3K`9j%eVpz2_^ARX9gI%1dE|_`G7vXf=o@FP;=IMU z_E24U7g5RP=~4H!HFQmcedk|qqC2L^C;36+n{P9#n*^D6RdWox04<5| zWnBxd7vraA@#86r?U*35wh{xC#=c)T6bw+G`aY+Q+P=n*6><{P9()Zakp4re<3Gih zy|K#Ep%Dg^n_GU`(xg4PBm)YZK2%Hsur0VBB6VafqJxF3&SAJ_hNmp`{_GZUU_e}p%9*u;@dM!L(20_@FW1}4!zyv7Lf+$V6Y-Q{i4SZraiDzKk0 zsdhCj`n68`EsdvRQ>H@Dn^y+2|F2A{jxyKWsI(5CZz;9_k$Hy`zV!$1nhdwl`}1Mz z;dG{8ducXt5)BiL+nGwuDF+T!zW}Cd2j9IBX}8!$dQfEY=1=H|g229pLi%4XdEFvS z9yCk0m5j2M7C|m&|Ms4vQKeaYlj-o})h5mxU>VH}sAuHThy*`nR2D_bT|p}<4@tG; zZut=toU)7{H#t3ka?5W!TnSn=OK#z~Swl?(e*ADAtMjkhV&XPdZ~B3u2+tfHb}}U* zg=>x%5x>s;WdP3sG}?57zcczL#HjjuJ^Y?Z(#&(c_)$Pe&D5(`J%|moq+15cF|YyD zp3NMM+91IYIAXI2{rT4PI;to<7c8~2kX0qTlC38%G71TOqs^XI3+9u{+Tsv?^?Ex& zCa+$GYyQJEf}l8AFY~f+T~he@ta#^KBWS`g;}mYc@iebj{s+9c3WdNZw1%3Qa$u3J zsZP;O^d?8nQd+K&-qoJ1@kEdAZMAoF>7>nL~Y>Is$G$*DL1BN0g-iadZ-v=Lmw zeRO;A<791=L?qg(cJ@x0)%>>;X*RL^Vz`>DupQ5S5A?Fh zn%GRnM1-bc9!M683gD6@n=sT1RiPw~oO!(~tL~<*%HYEo*RsV*^uIyHX{euEWK0Bc zZzdf`3^YPgNnx1mhh4PoU7ZyYCt!=_cS{-sQDL(1%_lT)QJWy*QNj(+eJI$WC`rLj z=|Y-4dF6>`)*=FQev6igX&@PfGR7!^H{q&II%gf~geW1PdzNWoVc-=wD*yQ(8}CogZ|mc5<#Vmt)kxKyPDG@X zOWb4Oet;HPcSQYV!+zaRWHE*m5rclHJ>*M!pe8c!Y_w2qFGAP&Xx z$)JtHUbgEo{^vX(kHR@=KKfq3815!u1vf~4?Pv81iybN1AsYKNmZv|Au4k4B&y4q@ zn>nx1%Z4R;*LzM~fc9>i^Y24ZxMh;JU6IW_D4wBT07&CJ zPt4~b`U52xil?m~PV>AREea+{z^Q9%8Qw;=xIt@*K^E+oIO5c&#{a*>5mYCd-Mv;QtrlFp=M_LEsHrl>ns8AaQ7cN++~& zb^!9KATk`)8nV>ji@ID`>q`a%NfZPCTq(ObITG{Tnfln6cb-)7^x$c-a9?Q=avYM^ zxMnAsg7ro604Xk?Q!%D7>Up7EKdpcH!qfC?p z9q*d+=Xbv$4~M9u&~DpXH^IIuK5>@|t^l|CkV(RbdMCOR(wY)2Wc72JQ2E|#*v+A| zFD%1P*sDr1W4q_r*gqPbPquCyh{7-?l1B(s1H*_sC@~)E=~4Ko_Ka6rtOR=YMv%>@ z`+)^F9l8?)h%P_rA+iq*uh*vw*$f!c-KqeS@-sAHQt{eqe zrkL!Ja0-{YSvTJ-in?6#Lx79!l7|e(f{TYx>(<7=CQEx4RDuHdt1M8gyv@koq9gTb zTlWtCi!3dto#%dcNV^0HL#!Z)2+BoX0&*MrSOpTTSS%dKl-B~tYpxk_0#l)aFlryi zj*96*roem}=6d3B{zxI68u?}oTTx@p-Rm+M@E3YU-nN>4%nz=3?@I?eIxWp;Gjh_@ zmKjzSVa;;B2T9O9O`3I;-~i6VVHMyd>s-!G7O=z4Ax2Bdg@7X!r`=6#b*KY`wC4kf z0xYTZ-iOYat%74lzCsy{p2`G!8RUcTVgwB<3;GIK48`SK1nXew+${2U0-@wwi%y(< z0YW2ItEE%DgL!XMnomi|S$F`)ofz*C!dPz~C<>-90TK*6lz0>e3VE6(W$*a(LL|G* z&y|lE(1Eb52Hrob{}Ky4>QTe`&Ix~Ls98ERQPw?h6+sIuCt{*QFsyblQXQeKMOszk zvj8%>8D(h}%?dsKz2yUr(7I?MWVf{XSg5Y@HCiEbr?uNfNXsC-((8o&HbyU5Aa07H zqk<-aY$a5RvZb5XMs$`?|IFq1BTu2lt61T=uC~m;SjsNVxF%KHl85qwTuPl6yJi&< ziNN5*?(`6Kx|A~viV#DQ=}Xb=1~XF?;s-uL85?L0nN^CJ5tJlvk~j?>`F*DuwwAK>wMGM8TQhsy#@ubu`@!fx$-GCD3@}&7$)M zWYS4S<1mIRF+8_h@fuf^3984X*X0U6e&hcy;dh4OZC;5>ip~T?KR0_`yI?-0YMkHO zvRl*D^p?{!6WkpGJ*3!N;wzgYG-&fK!baoaaVJN9nZN1h1w%2>Ugr^E=vJy4{~yjD zg-ui;UPJI%u~oEp-N++IVl5ssxq1Vs<{AkVQ5UsSuV!l0H5;`KYSLFvxkUz59+%T6 zH`vH1>imm;4vwm^GkQ0^fFrQXI+q#-EsFDM3Ma&=n*`E)l-cIgpP4U;fkQy2pN3M6 z-bD2<9@5kKMZgt4;(GyoF4(TYA!~)?h!k|6{mNr8WPzZaT&UBvA%cocFCi7n`E;2c zXZOLgyN=qpdnwP1$gDM~B z$kLTj??xjKT5~P0Nq@-lLBPEArnVEaChxH|lb5gX^(l;S3FeMYwTOCGH8F$;)SF0t1Z!UfkwI zNFT`|Tk;&EHQPAuR(#@L?GvZI1NkS+ZjTS7Lc)*)Ny!gUwwjy!jeue6iA$T54!IQ4D1e(0fixY-b#oYPaI87+VYDp z7unB&G2fYAD)wynr?Chs=vNzf21-1nFRD4BJiHm)>gs9RXA!Ii@1Q47hKgcqq}j)JQmIj^#TdH- z%B#I_RA!*6z_ANTJspolG`W<`j%Me*u%IXsH7h`8gP2Sl#@j`()xU*wDCmz|U`<#R zu~bZB;wPYL6rHj+JDz~Xq7`Kf1@5@Pu7w>sdSq(h#>;hkh;4*>6gLu%r2)0SKU2Cu z5v%YaEt@7rto5p^DR}od%8f#1=Lb`GNw2?%LiN<_$c2HKP1~%S*)B>&YAxCs5(My8XaBtI|zKkZ+R;b?|y{peu zF;`&^C&jf{mHrF~5>)%)?6TSz*#WNQ%{W<#otwFA{}3QJX+yt_aE;V|CKjR5+6Cl{ z!cro+9FSm~6O62+DacUy1aho458Qua=o0CWA`3A71T!W(X}&yYSN0wW*Q5dGL5vT0 zL|OJy)^ONjn99sDl0qSL^gDCAVZQa{)xIwDKTKK108Vz^^k8KmOQg)==YL;)>7?d)b4w+GQ0_!r-h-vMWX%B-ZagO+?Fov@#9&G%fl16S*9Wrg9wUD`HOaBhYwLPri>B%LK>KMJz^gCq3f?%=;r zYjg%CuO;vt``)tS=kk&OgaF2-WEQ1i6fCpd+7hJ0^G-O5vxLwyt{<>lUpU`|olZ*9 z=F;;a-f?Ug#iy%K&j>WmZ>YPQ5auiIn8s?M$B#0e*w@%`(GV08R82Q_B4fQtZT~17F`&O-fD&2iL8?p*P-vXH zCX*n)a}>2S&(x=ji=0<7v_fm#L+HRVd`vStWrE0#(tcOM3^il}H+4O^Ry_zZ9TeH) zm?k=i=|}U*PS^+ykxuNhy0$=E$=lVha^feu4q-s>-b_;3D%*0hfnsB7c5}dsj~R&uOLwMGlgKkqhGyXY zBtX6gIPZ7BWXw}AD+jhSx4HGl*J8}vE8xXbt3SR|bw!gRTl70A*V`Vw{ny?4det_v zV?B8isG5~uwMXs?>?M_ex!8XdG;njfC5$65*LiVMD?~NO2oMk_am6FXNdm;)fN4zU z?dtFtVSCBU3}SDo=OlR-V@~%QxhNk|r*?x2H$|85<3T*DK@dAt+q1w9-8XScMJh-U zJSSsAr@rT0Q1?PmqVY8@AbdK%#iYup7Q0Hm;E^kUAbBG;%$*=8I$Y#rf1j#QF6mB@ z-ZsJKPx72Bn=>Uj>~WMT6^Y?R#XaNW7tEmT=J>7JcJYx~tZa}-Tn&U_UWsAB!8+ZH z(cE33?NG97fU$iZ;YWvsf|o!ewn)TAcq8#Yqity~?L_f64!?^q(bq&{awl*`k}C0@ zu|MI4XD#K9YT2u4S(WFd_A~FC!vpZJP`?dc$2NL|I zf@yn0!wFI3a*`2Vm(u{KP`vdRyiIFJ7M30QuXc3y@m);)++E*f_U%p%veUTlYwC{+ z&37R?UTAZQBz8<}mCn}n;R<2udAG#g?G~OID@Wsgrs4V&x zAYIQy))eSpY;YqHg~bY%`lFaAEEcTk9B^rYI@|PVD=D7{vVLT#UHp8}b~MaK(ZvY*Z-?o|=T!8qFZzHk$=+a!#1s{Lp6B^GEEC3Rx0Sc8 zZTemYG`~v1_kZUsZAE>ws=0&4=8D^!fN2g~rQ`>&2scqtWR_Pfn{#OiSByGFgM1D8 zSbhL_uj$^~^=_r1)U0&QI5popybH2k1bL~MJ&JlLqWGmP z6a#DfLCJA}%NR!pGSqA`!}xHlO-~-nf<7Y9LaIKvZU8h}a#=PhMdVNuF@+mLXNPQ> zuobfxGC(n!oZ$R|N>FPW#q5L|O`H2p3rNb~6-85|rnW;r|7W3qdQ*Y(-PHjs<}QLn zo{?S{huN(n#$}oyiCjIP#^8Z2PY1F-LzLr?XTj${&=|e(Q3WOs*rb{53n4{UR{`d0 z!6YB)kNXy#f*pB;$GCLmgdjlj@WNuKj31I7$THd=NPe`9x8YPHL&jJ7)f@_JI8kq> z(trgD40A+*l=pj`HON|*${+`I^Ei$ybZVC#e6qCvL>_6_kp%z!*p(c{%tuw`zqhzQ z|IDcLfMMX&2g1>-wCU^7v7AV}6br!<8rDQ5G&#}j-1pIxdzRO&9`#}cfklW-mD@a( zG*HuWjh$+pU_pa!X=w7BK^@8xM-OuKb@zbAlhEsN+#%lrE1vXO(R$m~FSA&q@c($4 z1g}4AKt$RfFBS?ZD4*G_dN33MQ13)uR$;d z4H}$-IL4QHH{>;^sbBt;G;jidpu1!iqQLBdEUT?I+b&6t|yWm0ve@oDu02pe#-pjQOpnc{B#V{ z+{oTAIR#%J*-nHs0G)yJ1kslXmT@m1r2>v3ThcmPW^E0!ly|p z0Zl>>6Qr77e4M!hGI75&VpsIlsj9%{=8hJFWFA~@&~c$DgjlYv_Fl;OdLlrAU+Y`0 z&u8^9)aCNe7yqA0CcBkSa%o7?1TT45LXm+FkWZj_00GH@#axqSm>I^qlkA2|a zzF<;AffErRZ{3 z-Q^u{*FYtKH(t5#oagYr85AW88V)eV_p?OTtEnMUn~Bx>R4V$0qKQ~>X;^CDlsw6B z_e6RReNtF-kqJZyNHon|=bSm?my-yA&IbcPn70YsX0Ha(2#J51yr*FSFoD>0CWuiP;AXt z*|3V}X%y7ECJJm%_Kb9eiSPgDD99j6@^ca$B9{A&v}0%-(G@+;fxg8W7QS8Hl?@NC zf|d!2qFlaJ7&D--=bJO-IQ-7JXgG8ANW@Ql==7VzTOSf1*d);9Ai*Urcnu9{|F(sq`s+qRu$k7Q6ZfNv7Uy=!)W!y z7&-DiSdiI*00I!KdnJ3T2sEm!u?<|okP?p4FTs=GZ}Jsk0OvffC8^e@ODzUP>U?+#kQmk+t{DqM`=NsBg;* z1H&~1g}Vr`)uw)-5ce0z=eb#r z2nSVTtNW%(5u6LI!O+R6`3MV^i;1qAO-iqRE>!bB{4)y$e$7yCY9(aB+tT$F#t@cw za=M0u?>nWQ%++lgJ{G~x(VKEIiOSn@tD1@Kz|=Y0uD7JBPJ z{W1&Q5RUX4crW>cCDz-{&dQq`ge1x&P{yn|FF+fNkWfbGc8e({TbitY=pft;TS(#& z$h~E7iOLL;YdzH-dOAu4Qv=eckbHG;oKs1yC{QeteZlZcm9dgURrap{kru&xFZkD{ zJIW|X@pG}oTzhG6(^KR-Z$9PM@{k<&s5SWnGW)f}RV@y*?PHD8IWkN>DOsRS`JM*o zZ@6F&4#;9`sDoZ|nR`R0>Xh7HiE}byyFOkmjIQso;@Wqz34NfW4%oMbX}DQlcf^r% z8>}w`%zk^M0%-38DjLoD-Q!=mRc=La zJ!v`~$o7%Aqy^e{PL&Mo0)5QgPnfH@YFHn_2~Lx&nva8(NEXjiPWok-(Rg5g{YXca zz-{mtu3wgOO0$5wn0n2}-WraVRK>Mw67*N>6DJs!(>B<-6Q5xQSUBfZ?7&%`Q|6=vkjU|724rf&&ds zC*7o;1(78PVC}#+H-X6GvtomW%xn?c`^=QNmKB@suW#M&07y{E{q%_lZMuYx;os`1 zxdrx+Dose0m%EwkaR}*#!V^PhE|mflsD~5{5Nxz|L4&@W=jfGyQ6H3BEDy`>0$)}y z)2}&yxM5b7kb^TZRm{J1M{|6QyM7$cu z(z3Ri1?i5SqCxvIUXw!ptby2bd9Y<#*tNv45|(nzbPSc|#$T%xfa`>6=S}CYNHx-N zwAgUIHHDg^4a_iF5IG_a?g$+4_GKmnij|X>?k18`|Kb>tp zKJ;7HLuZuB+2*b=EAKl}i>u`{=klx!mRF02Z*jt?TmwiN=q1-D2i?k1gd&`c0UrR9 zG-`{pw-k?b#3b0?ml(wCPPM0YCPl`R)beSur{zmwG|XaHva`CaYM8Yp20Y1j40e zkzV9+mY&AawlHdPf2y3KiCvFr7n?i~Kq@QUmXOOn@-oodpT0%Bb@6j9d z-GXyhAR!gQa%I}Tk+^TC9fLdy$)xCq<6GT^nr8&^?^CjfRixY6G$MdhVc!htu4c>F z7+H&B5fAW9uA9oiJFs@IJBz$G|@?F#Ub|ktbmJ8{TF%ybh#L@U+wK z%SKR}o0?m_YZI>y4#JcjzCW0Z9OD-axCkhf)3Me*czdCfC)*QPQQklA&WcRiL<~VQ zKYNM$tIieRmDZ+*-`aF5nG!ED{&dKzzpq44rF+0-%1XjVI2#s!WUxRd+sfX;6y zC`XKU@yJohsU`3uZbuK+Bwswo3!rU3UPCi6jriaZF*s&RjoW?LqO3(`NNFsn$=n*8 zUROxf9}H!&sIx|(sMUz;v76P&SlT>0Cx((oVX`t+BJe_nYWIp^fPU*vK>C@otZ2S7 zXaI%ymR_^V+ScdM#Ta!gn*9$rAML2%i-J@a3G#FsV)t0jwxp?GdP8$(q{!p0L{hg; zqCbaCd~)_md~>z;5pky`aNA@hEWMgNebbR0IwP>+2>ckW!ri<@`^`CkZp_ zKhbWDMQY3?+oOaZ^{s*=5iG)gy|3{=YRUV)gJ!o7;4yES=I5H)jcc=xNLFo1cL&)Q z)P6|=`eMt{<~n?NbOT&hQa0>aML2%xUHX(`YFo`oE|j`FG8Ny$?1|b^?i1IE1%xLlQ5)x6SdeW960^?Eq9N$3=2s``!)=RA^Ia}7#v+wmzH>?I4(U1aOE zTwQ%|i$ygd|PdasFhWNRl0b$h;4ipct?EOl1E6nI~|gdHkUlk|tZBH{2c zS+aUNT}&uu2MjHWunv}oCa*C7`jo>|kd4^s++QF%SSW?0&1?`l+mDQC3OAP+co0;# zqV=qhWY9MR*fsx}^}li0;yQH!pYt7`!zf3XMHYy*m6H<;rAWC(gaWL)k%~LIaRqag z=_D*h3Px(}X9&43v7{lO@y-~C_o{1AAT~}w;ma5%C$;b4j+qK>cP>8fzmojniXcPh z>vH|r^7JJD-DG!{)!tM&C0O z(7a`rH98p_o|vAMI{-F|WgJgUez%K9(;YZkPt$xe8&-IKo#*I2eQuWM!6s4IPNst~ zsWYKleS;MAQs7irF{hd&{=ug55@4$lpEVn0^`<=!rYW2H+mGtI`%xn5U}fRmwYDQv zzjDs|46>3sXmF0;sr_r1Uq76%3E)O&;>Za*=JlchF+ zm?wij6{2iL$`m&j2{4m9J2FHeh1!TP7`%A{ID)U&8d}-rV#b(qSny{zaQ-=_@9+Gg zg0UdU{|$I_3Z`2;Uwc^U=e5LyA@8~OrrrD=kk8P%0ljNdFCoQT8YV&k%*Bar^KHS% zf-L->Cs$lTii-!dv8+w{EQrfy{vn>!Vnx9Gt!d}Np&^ac)US1j+&%l=Susa4@y-!qc89LlO9e1jrb^z(u7 zue+53aaOmK2|zu~$1b!~E*ett>n?baDxhqj=3mW^SUOk%uy3UmPno5nh_hBP4{7+* zlMV{55P2sGBL3)Q$W$_D^T!0QZ)I5tqv!G3!lGJ55c|+=e#$r|C_ouZx&vz%MlpF? za5B)fW02ia7duF#Mr-0~=MYIq#jW)t)-kK%G%X6ocd%Rrr@s)bjxhDpr2t8k8iG4U z*8orrCtLC(uACzZ+85pBCDv34IkiNiL|;#H59_=Z6v~8tV=Sb7k>EAg$GC7j=koP5ut{%UHzd;e2wc#UOw!ir{FA_jFT*g;kYTlZBX1h& zLTBg;b&Zdse{ev~=>ag>ZG=ebsXL^(Df%OpN2F!$-Dq@aoyMv?0FBt7orBYNr-=#c zab_?%J1By=i^6@Midc3L<8-_p?rZt+&oV@nt1c8-g7R?2L(_9e!hf2g7(g@9Rm7C#&Sg?Zg zB*cWi>Th|pds3r?|9Mbqz3e1`C?h9^sLb*w`z=1a2Ztu4X93#6$d&j)U)?NTEUd3d z!FoSsFf!0blPeyeA4y?j-RWK#F-1)C5+-LOj+F-Ib1cf93-hrR321@q95-TU*DS*R z2^!C5BPbO(bw!M@)^>QSj0K7`&e+43Mo|kS2t>{VO7>*p_8jTFQ5TI!Kfg@>-1@Z{ zyxW)7}0-q*JoY zIoyj#hyb5`O_W$2=-_oo#9Jgw2s#;R<`&j%WC2Apg#$HYU3%sC!6$}NX zZ?EDbfOq@( zRtYe=(H}I2H=u10*3}4uqffkz-JMmDW>tBJ(5YHHp{O2aU8ot(Pq1k?apk);?hP$U znfz19js_X5$6DC@cpww1TO*ni|U;kMN0q9nn(hl;0Z^O2kH^1k?Xnm@1V%}2WAJw`< zrV0YQfRP0=fZF=RxEf)si_&hd)Wqc-fiu)RAVmURu2MY6WBtiMhz)y3rbJHgZrA|5 z{X9V8xzHi;qNWHB{6^4XQK=q}YX$wE%hQ8H_8$6REZ+V0Wg;Ah((Sd4Rrp~GcRmr; zZo}54Aa8HuLC9zSFdR6D+RM2?NL+?Z!UMtJP`uva=Gt$_v}s(-sIxYBy+Cvao7IDj z`KQss>2|a5w{Dol*G%L<_`~v*v*lR6)yo^muXX{!uelZlW-l*Gmx5FBUfxu!t5@Bq zP)PSwvGzJS2fnd6j#PA>&m?Q~+;WyfwHI|p!UOhoC6Hr&u#S@mTZK9RUK6|M?$&SB z-#jo8xM&}JMs9i!s}41j%3+`Nf$qYH03=e<3Ahv(?s^B+d#kY^w&^?)< z=xc$VD$Z_%L#dHMhZDZD{nFo7rAAOpWVpA4{kYQb)#GG#&tmc(bYhGEikT9G<&6Bm2LV4p^_YweZ)l2G3(~Y t^S?$F5@NJK$=x)8j)EP(EqZuxGU^TTF=-xxZNI2Ek#KM%n|(ge005-mdiwwX literal 0 HcmV?d00001 From 2ea45a9ee19d9e02aa236419a917d0551283c560 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Feb 2023 15:38:27 +0100 Subject: [PATCH 18/62] Mode test for `ChangeServerView` --- .../login/changeserver/ChangeServerStateProvider.kt | 12 ++++++++++++ .../features/login/changeserver/ChangeServerView.kt | 13 +++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerStateProvider.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerStateProvider.kt index 85523a9b25..cc70345415 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerStateProvider.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerStateProvider.kt @@ -16,8 +16,20 @@ package io.element.android.features.login.changeserver +import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.Async +open class ChangeServerStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aChangeServerState(), + aChangeServerState().copy(homeserver = "matrix.org"), + aChangeServerState().copy(homeserver = "matrix.org", changeServerAction = Async.Loading()), + aChangeServerState().copy(homeserver = "invalid.org", changeServerAction = Async.Failure(Throwable("An error"))), + aChangeServerState().copy(homeserver = "matrix.org", changeServerAction = Async.Success(Unit)), + ) +} + fun aChangeServerState() = ChangeServerState( homeserver = "", changeServerAction = Async.Uninitialized, diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt index 0e1793a3f2..51d8c83c68 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt @@ -42,6 +42,7 @@ import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.style.TextAlign 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.features.login.R @@ -179,15 +180,15 @@ fun ChangeServerView( @Preview @Composable -fun ChangeServerViewLightPreview() = ElementPreviewLight { ContentToPreview() } +fun ChangeServerViewLightPreview(@PreviewParameter(ChangeServerStateProvider::class) state: ChangeServerState) = + ElementPreviewLight { ContentToPreview(state) } @Preview @Composable -fun ChangeServerViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +fun ChangeServerViewDarkPreview(@PreviewParameter(ChangeServerStateProvider::class) state: ChangeServerState) = + ElementPreviewDark { ContentToPreview(state) } @Composable -private fun ContentToPreview() { - ChangeServerView( - state = aChangeServerState().copy(homeserver = "matrix.org"), - ) +private fun ContentToPreview(state: ChangeServerState) { + ChangeServerView(state = state) } From 00ce51cade3213361a46504810309da2090fb9c3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 00:22:07 +0100 Subject: [PATCH 19/62] showkase version upgrade to 1.0.0-beta17 Should fix multiple `@Preview` annotations issue and make us allow set preview to `internal`. --- gradle/libs.versions.toml | 3 ++- plugins/src/main/kotlin/extension/DependencyHandleScope.kt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8ed886b47f..001825734c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -35,7 +35,8 @@ test_core = "1.4.0" coil = "2.2.2" datetime = "0.4.0" serialization_json = "1.4.1" -showkase = "1.0.0-beta14" +# Warning, also hard-coded in composeDependencies() +showkase = "1.0.0-beta17" jsoup = "1.15.3" appyx = "1.0.3" dependencycheck = "7.4.4" diff --git a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt index 8b63c38244..731a00042f 100644 --- a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt +++ b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt @@ -44,7 +44,7 @@ fun DependencyHandlerScope.composeDependencies() { implementation("androidx.activity:activity-compose:1.6.1") debugImplementation("androidx.compose.ui:ui-tooling") debugImplementation("androidx.compose.ui:ui-test-manifest") - implementation("com.airbnb.android:showkase:1.0.0-beta14") + implementation("com.airbnb.android:showkase:1.0.0-beta17") implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.5") } From 6bb01d640fe7188575582f56112c08250a7baef5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Feb 2023 18:11:41 +0100 Subject: [PATCH 20/62] Make `@Preview` internal. And exclude class generated by Showkase --- app/src/main/kotlin/io/element/android/x/root/RootView.kt | 4 ++-- build.gradle.kts | 2 ++ .../features/login/changeserver/ChangeServerView.kt | 4 ++-- .../android/features/login/root/LoginRootScreen.kt | 4 ++-- .../android/features/logout/LogoutPreferenceScreen.kt | 4 ++-- .../io/element/android/features/messages/MessagesView.kt | 4 ++-- .../timeline/components/TimelineItemInformativeView.kt | 4 ++-- .../features/rageshake/crash/ui/CrashDetectionScreen.kt | 4 ++-- .../rageshake/detection/RageshakeDetectionView.kt | 4 ++-- .../io/element/android/features/roomlist/RoomListView.kt | 4 ++-- .../features/roomlist/components/RoomListTopBar.kt | 8 ++++---- .../libraries/designsystem/components/LabelledCheckbox.kt | 4 ++-- .../libraries/designsystem/components/ProgressDialog.kt | 4 ++-- .../designsystem/components/dialogs/ConfirmationDialog.kt | 4 ++-- .../designsystem/components/dialogs/ErrorDialog.kt | 4 ++-- .../components/preferences/PreferenceCategory.kt | 4 ++-- .../components/preferences/PreferenceScreen.kt | 4 ++-- .../components/preferences/PreferenceSlide.kt | 4 ++-- .../components/preferences/PreferenceSwitch.kt | 4 ++-- .../designsystem/components/preferences/PreferenceText.kt | 4 ++-- .../android/libraries/designsystem/theme/ColorAliases.kt | 4 ++-- .../libraries/designsystem/theme/components/Button.kt | 4 ++-- .../libraries/designsystem/theme/components/Checkbox.kt | 4 ++-- .../libraries/designsystem/theme/components/Divider.kt | 4 ++-- .../designsystem/theme/components/OutlinedTextField.kt | 4 ++-- .../libraries/designsystem/theme/components/Slider.kt | 4 ++-- .../libraries/designsystem/theme/components/Text.kt | 4 ++-- .../android/libraries/textcomposer/TextComposer.kt | 4 ++-- .../io/element/android/tests/uitests/ShowkaseButton.kt | 4 ++-- 29 files changed, 60 insertions(+), 58 deletions(-) diff --git a/app/src/main/kotlin/io/element/android/x/root/RootView.kt b/app/src/main/kotlin/io/element/android/x/root/RootView.kt index 0dcb1f4600..b46188fbf7 100644 --- a/app/src/main/kotlin/io/element/android/x/root/RootView.kt +++ b/app/src/main/kotlin/io/element/android/x/root/RootView.kt @@ -76,11 +76,11 @@ fun RootView( @Preview @Composable -fun RootLightPreview(@PreviewParameter(RootStateProvider::class) rootState: RootState) = ElementPreviewLight { ContentToPreview(rootState) } +internal fun RootLightPreview(@PreviewParameter(RootStateProvider::class) rootState: RootState) = ElementPreviewLight { ContentToPreview(rootState) } @Preview @Composable -fun RootDarkPreview(@PreviewParameter(RootStateProvider::class) rootState: RootState) = ElementPreviewDark { ContentToPreview(rootState) } +internal fun RootDarkPreview(@PreviewParameter(RootStateProvider::class) rootState: RootState) = ElementPreviewDark { ContentToPreview(rootState) } @Composable private fun ContentToPreview(rootState: RootState) { diff --git a/build.gradle.kts b/build.gradle.kts index 2208e22ddf..4874d203bf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -178,6 +178,8 @@ koverMerged { "*ComposableSingletons$*", "*_AssistedFactory_Impl*", "*BuildConfig", + // Generated by Showkase + "*Ioelementandroid*PreviewKt$*", // Other // We do not cover Nodes (normally covered by maestro, but code coverage is not computed with maestro) "*Node", diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt index 51d8c83c68..e934675f91 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt @@ -180,12 +180,12 @@ fun ChangeServerView( @Preview @Composable -fun ChangeServerViewLightPreview(@PreviewParameter(ChangeServerStateProvider::class) state: ChangeServerState) = +internal fun ChangeServerViewLightPreview(@PreviewParameter(ChangeServerStateProvider::class) state: ChangeServerState) = ElementPreviewLight { ContentToPreview(state) } @Preview @Composable -fun ChangeServerViewDarkPreview(@PreviewParameter(ChangeServerStateProvider::class) state: ChangeServerState) = +internal fun ChangeServerViewDarkPreview(@PreviewParameter(ChangeServerStateProvider::class) state: ChangeServerState) = ElementPreviewDark { ContentToPreview(state) } @Composable diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt index c79fe1d261..740b147bbd 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt @@ -221,11 +221,11 @@ fun LoginRootScreen( @Preview @Composable -fun LoginRootScreenLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun LoginRootScreenLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun LoginRootScreenDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun LoginRootScreenDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceScreen.kt b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceScreen.kt index 02706670f0..050b66f660 100644 --- a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceScreen.kt +++ b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferenceScreen.kt @@ -92,11 +92,11 @@ fun LogoutPreferenceContent( @Preview @Composable -fun LogoutPreferenceViewLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun LogoutPreferenceViewLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun LogoutPreferenceViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun LogoutPreferenceViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt index 67117d0d4e..c63bdb5c89 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt @@ -198,11 +198,11 @@ fun MessagesViewTopBar( @Preview @Composable -fun MessagesViewLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun MessagesViewLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun MessagesViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun MessagesViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemInformativeView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemInformativeView.kt index d7960f2ef9..f0b6238a20 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemInformativeView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemInformativeView.kt @@ -65,11 +65,11 @@ fun TimelineItemInformativeView( @Preview @Composable -fun MatrixUserRowLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun MatrixUserRowLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun MatrixUserRowDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun MatrixUserRowDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt index 3c0bf63473..a5c7900fb6 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt @@ -69,11 +69,11 @@ fun CrashDetectionContent( @Preview @Composable -fun CrashDetectionContentLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun CrashDetectionContentLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun CrashDetectionContentDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun CrashDetectionContentDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionView.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionView.kt index bc8002b978..c54281c606 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionView.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionView.kt @@ -101,11 +101,11 @@ fun RageshakeDialogContent( @Preview @Composable -fun RageshakeDialogContentLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun RageshakeDialogContentLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun RageshakeDialogContentDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun RageshakeDialogContentDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt index e238459a05..b7930fc551 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt @@ -158,11 +158,11 @@ private fun RoomListRoomSummary.contentType() = isPlaceholder @Preview @Composable -fun RoomListViewLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun RoomListViewLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun RoomListViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun RoomListViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt index b1f8816e3b..fe7dcb88fd 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt @@ -174,11 +174,11 @@ fun SearchRoomListTopBar( @Preview @Composable -fun SearchRoomListTopBarLightPreview() = ElementPreviewLight { SearchRoomListTopBarPreview() } +internal fun SearchRoomListTopBarLightPreview() = ElementPreviewLight { SearchRoomListTopBarPreview() } @Preview @Composable -fun SearchRoomListTopBarDarkPreview() = ElementPreviewDark { SearchRoomListTopBarPreview() } +internal fun SearchRoomListTopBarDarkPreview() = ElementPreviewDark { SearchRoomListTopBarPreview() } @Composable private fun SearchRoomListTopBarPreview() { @@ -230,11 +230,11 @@ private fun DefaultRoomListTopBar( @Preview @Composable -fun DefaultRoomListTopBarLightPreview() = ElementPreviewLight { DefaultRoomListTopBarPreview() } +internal fun DefaultRoomListTopBarLightPreview() = ElementPreviewLight { DefaultRoomListTopBarPreview() } @Preview @Composable -fun DefaultRoomListTopBarDarkPreview() = ElementPreviewDark { DefaultRoomListTopBarPreview() } +internal fun DefaultRoomListTopBarDarkPreview() = ElementPreviewDark { DefaultRoomListTopBarPreview() } @Composable private fun DefaultRoomListTopBarPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledCheckbox.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledCheckbox.kt index 698d2fb6ee..0f8e03bdb2 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledCheckbox.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledCheckbox.kt @@ -54,11 +54,11 @@ fun LabelledCheckbox( @Preview @Composable -fun LabelledCheckboxLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun LabelledCheckboxLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun LabelledCheckboxDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun LabelledCheckboxDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { 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 5028bcc030..2497a7d700 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 @@ -73,11 +73,11 @@ fun ProgressDialog( @Preview @Composable -fun ProgressDialogLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun ProgressDialogLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun ProgressDialogDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun ProgressDialogDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ConfirmationDialog.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ConfirmationDialog.kt index aee26ba7f2..265271085e 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ConfirmationDialog.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ConfirmationDialog.kt @@ -117,11 +117,11 @@ fun ConfirmationDialog( @Preview @Composable -fun ConfirmationDialogLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun ConfirmationDialogLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun ConfirmationDialogDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun ConfirmationDialogDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt index fc4aefe6f1..a7e4778cdd 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt @@ -86,11 +86,11 @@ fun ErrorDialog( @Preview @Composable -fun ErrorDialogLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun ErrorDialogLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun ErrorDialogDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun ErrorDialogDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { 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 5129d58e16..eb8decf852 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 @@ -60,11 +60,11 @@ fun PreferenceCategory( @Preview @Composable -fun PreferenceCategoryLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun PreferenceCategoryLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun PreferenceCategoryDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun PreferenceCategoryDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { 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 08d5a377a6..dd2dd783d0 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 @@ -116,11 +116,11 @@ fun PreferenceTopAppBar( @Preview @Composable -fun PreferenceViewLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun PreferenceViewLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun PreferenceViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun PreferenceViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSlide.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSlide.kt index c16eaab45b..e5e6010d80 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSlide.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSlide.kt @@ -88,11 +88,11 @@ fun PreferenceSlide( @Preview @Composable -fun PreferenceSlideLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun PreferenceSlideLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun PreferenceSlideDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun PreferenceSlideDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSwitch.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSwitch.kt index 53e4e0a29c..d2c5c3c5a9 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSwitch.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSwitch.kt @@ -79,11 +79,11 @@ fun PreferenceSwitch( @Preview @Composable -fun PreferenceSwitchLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun PreferenceSwitchLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun PreferenceSwitchDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun PreferenceSwitchDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { 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 1c10d6259a..6ce4388c5c 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 @@ -68,11 +68,11 @@ fun PreferenceText( @Preview @Composable -fun PreferenceTextLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun PreferenceTextLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun PreferenceTextDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun PreferenceTextDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorAliases.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorAliases.kt index 8dcf4a9dfe..5b69f6054c 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorAliases.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorAliases.kt @@ -47,11 +47,11 @@ fun ElementColors.roomListPlaceHolder() = if (isLight) SystemGrey6Light else Sys @Preview @Composable -fun ColorAliasesLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun ColorAliasesLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun ColorAliasesDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun ColorAliasesDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Button.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Button.kt index d20e5f9651..235a97e2bb 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Button.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Button.kt @@ -61,11 +61,11 @@ fun Button( @Preview @Composable -fun ButtonsLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun ButtonsLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun ButtonsDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun ButtonsDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt index 2c8a7411fb..018500f8a1 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt @@ -48,11 +48,11 @@ fun Checkbox( @Preview @Composable -fun CheckboxesLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun CheckboxesLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun CheckboxesDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun CheckboxesDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { 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 f15b81129e..485d3587a5 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 @@ -40,11 +40,11 @@ fun Divider( @Preview @Composable -fun DividerLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun DividerLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun DividerDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun DividerDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { 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 6e0cc157fe..5a5b56e96c 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 @@ -84,11 +84,11 @@ fun OutlinedTextField( @Preview @Composable -fun OutlinedTextFieldsLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun OutlinedTextFieldsLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun OutlinedTextFieldsDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun OutlinedTextFieldsDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Slider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Slider.kt index a303e1ba77..b77ff86c76 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Slider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Slider.kt @@ -55,11 +55,11 @@ fun Slider( @Preview @Composable -fun SlidersLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun SlidersLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun SlidersDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun SlidersDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Text.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Text.kt index 2e05f2a793..63b082179a 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Text.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Text.kt @@ -132,11 +132,11 @@ fun Text( @Preview @Composable -fun TextLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun TextLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun TextDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun TextDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { 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 2c5cc26798..3ccbf55f32 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 @@ -149,11 +149,11 @@ private fun MessageComposerView.setup(isDarkMode: Boolean, composerMode: Message @Preview @Composable -fun TextComposerLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun TextComposerLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun TextComposerDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun TextComposerDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/tests/uitests/src/main/kotlin/io/element/android/tests/uitests/ShowkaseButton.kt b/tests/uitests/src/main/kotlin/io/element/android/tests/uitests/ShowkaseButton.kt index 441a7cbd78..3510d99d9f 100644 --- a/tests/uitests/src/main/kotlin/io/element/android/tests/uitests/ShowkaseButton.kt +++ b/tests/uitests/src/main/kotlin/io/element/android/tests/uitests/ShowkaseButton.kt @@ -63,11 +63,11 @@ fun ShowkaseButton( @Preview @Composable -fun ShowkaseButtonLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun ShowkaseButtonLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -fun ShowkaseButtonDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun ShowkaseButtonDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { From a418d31fd65a2dcf676de4edff5c1d2c4eeef6c0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Feb 2023 18:16:13 +0100 Subject: [PATCH 21/62] Run test in parallel. --- build.gradle.kts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 4874d203bf..5529d0fecb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -151,6 +151,12 @@ allprojects { } } +allprojects { + tasks.withType { + maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1) + } +} + allprojects { apply(plugin = "kover") } From 49db99698801d968f41fe2a835360ed9dd0f818e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 10:44:55 +0100 Subject: [PATCH 22/62] Add limited test for `HtmlDocument`. If we add html strings, there is an error when rendering the preview: java.lang.NoSuchMethodError: 'java.lang.String org.jsoup.nodes.Element.normalName()' --- .../components/html/DocumentProvider.kt | 41 +++++++++++++++++++ .../timeline/components/html/HtmlDocument.kt | 25 ++++++++++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/DocumentProvider.kt diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/DocumentProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/DocumentProvider.kt new file mode 100644 index 0000000000..7562f8653e --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/DocumentProvider.kt @@ -0,0 +1,41 @@ +/* + * 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.features.messages.timeline.components.html + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import org.jsoup.Jsoup +import org.jsoup.nodes.Document + +open class DocumentProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + "hello", + // TODO Find a way to make is work with real HTML data. For now there is an error with + // jsoup: java.lang.NoSuchMethodError: 'java.lang.String org.jsoup.nodes.Element.normalName()' + /* + "\n" + + " \n" + + " \n" + + "

Bold

\n" + + " \n" + + "", + "Bold", + "

Heading 1

", + "

Heading 2

", + */ + ).map { Jsoup.parse(it) } +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/HtmlDocument.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/HtmlDocument.kt index b7e8685656..73b7fe8c4a 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/HtmlDocument.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/HtmlDocument.kt @@ -42,11 +42,15 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.withStyle +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 com.google.accompanist.flowlayout.FlowRow import io.element.android.libraries.designsystem.LinkColor import io.element.android.libraries.designsystem.components.ClickableLinkText +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.Surface import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.permalink.PermalinkData @@ -99,7 +103,10 @@ private fun HtmlBody( when (val node = nodes.next()) { is TextNode -> { if (!node.isBlank) { - Text(text = node.text()) + Text( + text = node.text(), + color = MaterialTheme.colorScheme.primary, + ) } } is Element -> { @@ -241,6 +248,7 @@ private fun HtmlPreformatted( Text( text = pre.wholeText(), style = TextStyle(fontFamily = FontFamily.Monospace), + color = MaterialTheme.colorScheme.primary, ) } } @@ -567,3 +575,18 @@ private fun HtmlText( onLongClick = onLongClick ) } + +@Preview +@Composable +internal fun HtmlDocumentLightPreview(@PreviewParameter(DocumentProvider::class) document: Document) = + ElementPreviewLight { ContentToPreview(document) } + +@Preview +@Composable +internal fun HtmlDocumentDarkPreview(@PreviewParameter(DocumentProvider::class) document: Document) = + ElementPreviewDark { ContentToPreview(document) } + +@Composable +private fun ContentToPreview(document: Document) { + HtmlDocument(document, MutableInteractionSource()) +} From 03aa2a606e98ac365d2e04c6fecc53be75e65a48 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 10:46:08 +0100 Subject: [PATCH 23/62] Add *deactivated* rule to check code coverage of Views. --- build.gradle.kts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 5529d0fecb..f3d7db4393 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -238,5 +238,19 @@ koverMerged { valueType = kotlinx.kover.api.VerificationValueType.COVERED_PERCENTAGE } } + // Rule to ensure that coverage of Views is sufficient (deactivated for now). + rule { + name = "Check code coverage of views" + target = kotlinx.kover.api.VerificationTarget.CLASS + overrideClassFilter { + includes += "*ViewKt" + } + bound { + // TODO Update this value, for now there are too many missing tests. + minValue = 0 + counter = kotlinx.kover.api.CounterType.INSTRUCTION + valueType = kotlinx.kover.api.VerificationValueType.COVERED_PERCENTAGE + } + } } } From 3cde7d535691054d0b4c73d24116dceeb83b8b73 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 10:58:13 +0100 Subject: [PATCH 24/62] Better to use INSTRUCTION. --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index f3d7db4393..65b83302c7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -207,7 +207,7 @@ koverMerged { minValue = 45 // Setting a max value, so that if coverage is bigger, it means that we have to change minValue. maxValue = 50 - counter = kotlinx.kover.api.CounterType.LINE + counter = kotlinx.kover.api.CounterType.INSTRUCTION valueType = kotlinx.kover.api.VerificationValueType.COVERED_PERCENTAGE } } From 53c8d3ff7c94ee50f313ca8449c721fa3c639271 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 11:34:27 +0100 Subject: [PATCH 25/62] Add Preview for timeline items. --- .../components/MessagesReactionButton.kt | 74 +++++++++++++++++++ .../components/TimelineItemEncryptedView.kt | 23 ++++++ .../components/TimelineItemImageView.kt | 25 ++++++- .../components/TimelineItemInformativeView.kt | 4 +- .../components/TimelineItemReactionsView.kt | 51 ++++++------- .../components/TimelineItemRedactedView.kt | 18 +++++ .../components/TimelineItemUnknownView.kt | 18 +++++ .../model/AggregatedReactionProvider.kt | 35 +++++++++ .../TimelineItemImageContentProvider.kt | 36 +++++++++ .../libraries/designsystem/preview/Images.kt | 16 +++- .../matrix/ui/components/MatrixUserRow.kt | 4 +- 11 files changed, 265 insertions(+), 39 deletions(-) create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/MessagesReactionButton.kt create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReactionProvider.kt create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemImageContentProvider.kt diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/MessagesReactionButton.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/MessagesReactionButton.kt new file mode 100644 index 0000000000..dd8cb53fe1 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/MessagesReactionButton.kt @@ -0,0 +1,74 @@ +/* + * 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.features.messages.timeline.components + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.CornerSize +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.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.features.messages.timeline.model.AggregatedReaction +import io.element.android.features.messages.timeline.model.AggregatedReactionProvider +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.components.Surface +import io.element.android.libraries.designsystem.theme.components.Text + +@Composable +fun MessagesReactionButton(reaction: AggregatedReaction, modifier: Modifier = Modifier) { + Surface( + modifier = modifier, + color = MaterialTheme.colorScheme.surfaceVariant, + border = BorderStroke(2.dp, MaterialTheme.colorScheme.background), + shape = RoundedCornerShape(corner = CornerSize(12.dp)), + ) { + Row( + modifier = Modifier.padding(vertical = 5.dp, horizontal = 8.dp), + verticalAlignment = Alignment.CenterVertically + ) { + // TODO `reaction.isHighlighted` is not used. + Text(text = reaction.key, fontSize = 12.sp) + Spacer(modifier = Modifier.width(4.dp)) + Text(text = reaction.count, color = MaterialTheme.colorScheme.secondary, fontSize = 12.sp) + } + } +} + +@Preview +@Composable +internal fun MessagesReactionButtonLightPreview(@PreviewParameter(AggregatedReactionProvider::class) reaction: AggregatedReaction) = + ElementPreviewLight { ContentToPreview(reaction) } + +@Preview +@Composable +internal fun MessagesReactionButtonDarkPreview(@PreviewParameter(AggregatedReactionProvider::class) reaction: AggregatedReaction) = + ElementPreviewDark { ContentToPreview(reaction) } + +@Composable +private fun ContentToPreview(reaction: AggregatedReaction) { + MessagesReactionButton(reaction) +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemEncryptedView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemEncryptedView.kt index 9b2be79685..e8f2266a01 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemEncryptedView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemEncryptedView.kt @@ -20,7 +20,11 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Warning import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import io.element.android.features.messages.timeline.model.content.TimelineItemEncryptedContent +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import org.matrix.rustcomponents.sdk.EncryptedMessage @Composable fun TimelineItemEncryptedView( @@ -34,3 +38,22 @@ fun TimelineItemEncryptedView( modifier = modifier ) } + +@Preview +@Composable +internal fun TimelineItemEncryptedViewLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun TimelineItemEncryptedViewDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + TimelineItemEncryptedView( + content = TimelineItemEncryptedContent( + encryptedMessage = EncryptedMessage.Unknown, + ) + ) +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemImageView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemImageView.kt index e497a52523..e93d216975 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemImageView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemImageView.kt @@ -28,9 +28,15 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.ColorPainter import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter import coil.compose.AsyncImage import coil.request.ImageRequest import io.element.android.features.messages.timeline.model.content.TimelineItemImageContent +import io.element.android.features.messages.timeline.model.content.TimelineItemImageContentProvider +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.preview.debugPlaceholderBackground @Composable fun TimelineItemImageView( @@ -48,7 +54,7 @@ fun TimelineItemImageView( .aspectRatio(content.aspectRatio), contentAlignment = Alignment.Center, ) { - var isLoading = rememberSaveable(content.imageMeta) { mutableStateOf(true) } + val isLoading = rememberSaveable(content.imageMeta) { mutableStateOf(true) } val context = LocalContext.current val model = ImageRequest.Builder(context) .data(content.imageMeta) @@ -57,9 +63,24 @@ fun TimelineItemImageView( AsyncImage( model = model, contentDescription = null, - placeholder = ColorPainter(MaterialTheme.colorScheme.surfaceVariant), + placeholder = debugPlaceholderBackground(ColorPainter(MaterialTheme.colorScheme.surfaceVariant)), contentScale = ContentScale.Crop, onSuccess = { isLoading.value = false }, ) } } + +@Preview +@Composable +internal fun TimelineItemImageViewLightPreview(@PreviewParameter(TimelineItemImageContentProvider::class) content: TimelineItemImageContent) = + ElementPreviewLight { ContentToPreview(content) } + +@Preview +@Composable +internal fun TimelineItemImageViewDarkPreview(@PreviewParameter(TimelineItemImageContentProvider::class) content: TimelineItemImageContent) = + ElementPreviewDark { ContentToPreview(content) } + +@Composable +private fun ContentToPreview(content: TimelineItemImageContent) { + TimelineItemImageView(content) +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemInformativeView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemInformativeView.kt index f0b6238a20..f4ea3d017b 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemInformativeView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemInformativeView.kt @@ -65,11 +65,11 @@ fun TimelineItemInformativeView( @Preview @Composable -internal fun MatrixUserRowLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun TimelineItemInformativeViewLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -internal fun MatrixUserRowDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun TimelineItemInformativeViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemReactionsView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemReactionsView.kt index 50185bdb50..708c713306 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemReactionsView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemReactionsView.kt @@ -16,24 +16,16 @@ package io.element.android.features.messages.timeline.components -import androidx.compose.foundation.BorderStroke -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.width -import androidx.compose.foundation.shape.CornerSize -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.tooling.preview.Preview import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp import com.google.accompanist.flowlayout.FlowRow -import io.element.android.features.messages.timeline.model.AggregatedReaction +import io.element.android.features.messages.timeline.model.AggregatedReactionProvider import io.element.android.features.messages.timeline.model.TimelineItemReactions -import io.element.android.libraries.designsystem.theme.components.Surface -import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import kotlinx.collections.immutable.toPersistentList @Composable fun TimelineItemReactionsView( @@ -52,21 +44,22 @@ fun TimelineItemReactionsView( } } +@Preview @Composable -fun MessagesReactionButton(reaction: AggregatedReaction, modifier: Modifier = Modifier) { - Surface( - modifier = modifier, - color = MaterialTheme.colorScheme.surfaceVariant, - border = BorderStroke(2.dp, MaterialTheme.colorScheme.background), - shape = RoundedCornerShape(corner = CornerSize(12.dp)), - ) { - Row( - modifier = Modifier.padding(vertical = 5.dp, horizontal = 8.dp), - verticalAlignment = Alignment.CenterVertically - ) { - Text(text = reaction.key, fontSize = 12.sp) - Spacer(modifier = Modifier.width(4.dp)) - Text(text = reaction.count, color = MaterialTheme.colorScheme.secondary, fontSize = 12.sp) - } - } +internal fun TimelineItemReactionsViewLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun TimelineItemReactionsViewDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + TimelineItemReactionsView( + reactionsState = TimelineItemReactions( + // Use values from AggregatedReactionProvider + reactions = AggregatedReactionProvider().values.toPersistentList() + ) + ) } diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemRedactedView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemRedactedView.kt index f752f88c4a..f50a841410 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemRedactedView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemRedactedView.kt @@ -20,7 +20,10 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Delete import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import io.element.android.features.messages.timeline.model.content.TimelineItemRedactedContent +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight @Composable fun TimelineItemRedactedView( @@ -34,3 +37,18 @@ fun TimelineItemRedactedView( modifier = modifier ) } + +@Preview +@Composable +internal fun TimelineItemRedactedViewLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun TimelineItemRedactedViewDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + TimelineItemRedactedView(TimelineItemRedactedContent) +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemUnknownView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemUnknownView.kt index 396bb19cb6..2e52c5ec29 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemUnknownView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemUnknownView.kt @@ -20,7 +20,10 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Info import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview import io.element.android.features.messages.timeline.model.content.TimelineItemUnknownContent +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight @Composable fun TimelineItemUnknownView( @@ -34,3 +37,18 @@ fun TimelineItemUnknownView( modifier = modifier ) } + +@Preview +@Composable +internal fun TimelineItemUnknownViewLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun TimelineItemUnknownViewDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + TimelineItemUnknownView(TimelineItemUnknownContent) +} diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReactionProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReactionProvider.kt new file mode 100644 index 0000000000..3346d734da --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReactionProvider.kt @@ -0,0 +1,35 @@ +/* + * 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.features.messages.timeline.model + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider + +open class AggregatedReactionProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aAggregatedReaction(), + aAggregatedReaction().copy(count = "88"), + aAggregatedReaction().copy(isHighlighted = true), + aAggregatedReaction().copy(count = "88", isHighlighted = true), + ) +} + +fun aAggregatedReaction() = AggregatedReaction( + key = "👍", + count = "1", // TODO Why is it a String? + isHighlighted = false, +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemImageContentProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemImageContentProvider.kt new file mode 100644 index 0000000000..27640a796c --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemImageContentProvider.kt @@ -0,0 +1,36 @@ +/* + * 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.features.messages.timeline.model.content + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.libraries.matrix.media.MediaResolver + +open class TimelineItemImageContentProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aTimelineItemImageContent(), + aTimelineItemImageContent().copy(aspectRatio = 1.0f), + aTimelineItemImageContent().copy(aspectRatio = 1.5f), + ) +} + +fun aTimelineItemImageContent() = TimelineItemImageContent( + body = "a body", + imageMeta = MediaResolver.Meta(source = null, kind = MediaResolver.Kind.Content), + blurhash = null, + aspectRatio = 0.5f, +) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/Images.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/Images.kt index f1fc1b21f0..4061c4486f 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/Images.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/preview/Images.kt @@ -18,6 +18,7 @@ package io.element.android.libraries.designsystem.preview import androidx.annotation.DrawableRes import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.platform.LocalInspectionMode import androidx.compose.ui.res.painterResource import io.element.android.libraries.designsystem.R @@ -27,14 +28,21 @@ import io.element.android.libraries.designsystem.R * but it does not render in preview. In the meantime, you can use this trick to have image. */ @Composable -fun debugPlaceholder(@DrawableRes debugPreview: Int) = if (LocalInspectionMode.current) { +fun debugPlaceholder( + @DrawableRes debugPreview: Int, + nonDebugPainter: Painter? = null, +) = if (LocalInspectionMode.current) { painterResource(id = debugPreview) } else { - null + nonDebugPainter } @Composable -fun debugPlaceholderBackground() = debugPlaceholder(debugPreview = R.drawable.sample_background) +fun debugPlaceholderBackground(nonDebugPainter: Painter? = null): Painter? { + return debugPlaceholder(debugPreview = R.drawable.sample_background, nonDebugPainter) +} @Composable -fun debugPlaceholderAvatar() = debugPlaceholder(debugPreview = R.drawable.sample_avatar) +fun debugPlaceholderAvatar(nonDebugPainter: Painter? = null): Painter? { + return debugPlaceholder(debugPreview = R.drawable.sample_avatar, nonDebugPainter) +} diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt index 2355330907..aaa5e35b16 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserRow.kt @@ -89,12 +89,12 @@ fun MatrixUserRow( @Preview @Composable -fun MatrixUserRowLightPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = +internal fun MatrixUserRowLightPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreviewLight { ContentToPreview(matrixUser) } @Preview @Composable -fun MatrixUserRowDarkPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = +internal fun MatrixUserRowDarkPreview(@PreviewParameter(MatrixUserProvider::class) matrixUser: MatrixUser) = ElementPreviewDark { ContentToPreview(matrixUser) } @Composable From 3537120a5306f7244a0e40d1ce7768c232cb3ec9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 11:49:27 +0100 Subject: [PATCH 26/62] Extract AggregatedReaction to its own file. --- .../timeline/model/AggregatedReaction.kt | 23 +++++++++++++++++++ .../timeline/model/TimelineItemReactions.kt | 6 ----- 2 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReaction.kt diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReaction.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReaction.kt new file mode 100644 index 0000000000..c40396a5c2 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReaction.kt @@ -0,0 +1,23 @@ +/* + * 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.features.messages.timeline.model + +data class AggregatedReaction( + val key: String, + val count: String, + val isHighlighted: Boolean = false +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemReactions.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemReactions.kt index a6470a3784..1884af9c70 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemReactions.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemReactions.kt @@ -21,9 +21,3 @@ import kotlinx.collections.immutable.ImmutableList data class TimelineItemReactions( val reactions: ImmutableList ) - -data class AggregatedReaction( - val key: String, - val count: String, - val isHighlighted: Boolean = false -) From bbe7ea99e112de10a9ee7b41c8b67ae8a8de15b1 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 11:49:55 +0100 Subject: [PATCH 27/62] Renaming --- .../timeline/model/AggregatedReactionProvider.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReactionProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReactionProvider.kt index 3346d734da..681e57b2ef 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReactionProvider.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/AggregatedReactionProvider.kt @@ -21,14 +21,14 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider open class AggregatedReactionProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( - aAggregatedReaction(), - aAggregatedReaction().copy(count = "88"), - aAggregatedReaction().copy(isHighlighted = true), - aAggregatedReaction().copy(count = "88", isHighlighted = true), + anAggregatedReaction(), + anAggregatedReaction().copy(count = "88"), + anAggregatedReaction().copy(isHighlighted = true), + anAggregatedReaction().copy(count = "88", isHighlighted = true), ) } -fun aAggregatedReaction() = AggregatedReaction( +fun anAggregatedReaction() = AggregatedReaction( key = "👍", count = "1", // TODO Why is it a String? isHighlighted = false, From c08076b0fd5a219bb4bd82c5b77afb7dd4ec6700 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 11:54:05 +0100 Subject: [PATCH 28/62] Cleanup --- .../components/TimelineItemReactionsView.kt | 8 ++----- .../model/TimelineItemReactionsProvider.kt | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemReactionsProvider.kt diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemReactionsView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemReactionsView.kt index 708c713306..92b4fa6dd6 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemReactionsView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemReactionsView.kt @@ -21,11 +21,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.google.accompanist.flowlayout.FlowRow -import io.element.android.features.messages.timeline.model.AggregatedReactionProvider import io.element.android.features.messages.timeline.model.TimelineItemReactions +import io.element.android.features.messages.timeline.model.aTimelineItemReactions import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import kotlinx.collections.immutable.toPersistentList @Composable fun TimelineItemReactionsView( @@ -57,9 +56,6 @@ internal fun TimelineItemReactionsViewDarkPreview() = @Composable private fun ContentToPreview() { TimelineItemReactionsView( - reactionsState = TimelineItemReactions( - // Use values from AggregatedReactionProvider - reactions = AggregatedReactionProvider().values.toPersistentList() - ) + reactionsState = aTimelineItemReactions() ) } diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemReactionsProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemReactionsProvider.kt new file mode 100644 index 0000000000..998413e9df --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItemReactionsProvider.kt @@ -0,0 +1,24 @@ +/* + * 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.features.messages.timeline.model + +import kotlinx.collections.immutable.toPersistentList + +fun aTimelineItemReactions() = TimelineItemReactions( + // Use values from AggregatedReactionProvider + reactions = AggregatedReactionProvider().values.toPersistentList() +) From 2a8a4c094c4d0c1de7624e18d201dc24b6a4426c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 11:55:35 +0100 Subject: [PATCH 29/62] Code coverage is now 50.52% :rocket: --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 65b83302c7..c05e3558eb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -204,9 +204,9 @@ koverMerged { name = "Global minimum code coverage." target = kotlinx.kover.api.VerificationTarget.ALL bound { - minValue = 45 + minValue = 50 // Setting a max value, so that if coverage is bigger, it means that we have to change minValue. - maxValue = 50 + maxValue = 55 counter = kotlinx.kover.api.CounterType.INSTRUCTION valueType = kotlinx.kover.api.VerificationValueType.COVERED_PERCENTAGE } From a9222fae32488074169f16d7a31b487c1ad45106 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 12:18:46 +0100 Subject: [PATCH 30/62] Remove duplicated `ShowkaseButton` and fix colors. --- .../android/x/component/ShowkaseButton.kt | 22 +++++- .../designsystem/theme/ColorsDark.kt | 2 +- .../designsystem/theme/ColorsLight.kt | 2 +- .../android/tests/uitests/ShowkaseButton.kt | 75 ------------------- 4 files changed, 21 insertions(+), 80 deletions(-) delete mode 100644 tests/uitests/src/main/kotlin/io/element/android/tests/uitests/ShowkaseButton.kt diff --git a/app/src/main/kotlin/io/element/android/x/component/ShowkaseButton.kt b/app/src/main/kotlin/io/element/android/x/component/ShowkaseButton.kt index c486f9b7cc..42b9703c2b 100644 --- a/app/src/main/kotlin/io/element/android/x/component/ShowkaseButton.kt +++ b/app/src/main/kotlin/io/element/android/x/component/ShowkaseButton.kt @@ -22,7 +22,10 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Close import androidx.compose.runtime.Composable 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.Icon import io.element.android.libraries.designsystem.theme.components.IconButton @@ -31,14 +34,14 @@ import io.element.android.libraries.designsystem.theme.components.Text @Composable internal fun ShowkaseButton( isVisible: Boolean, - onClick: () -> Unit, - onCloseClicked: () -> Unit, modifier: Modifier = Modifier, + onClick: () -> Unit = {}, + onCloseClicked: () -> Unit = {}, ) { if (isVisible) { Button( modifier = modifier - .padding(top = 32.dp, start = 16.dp), + .padding(top = 32.dp), onClick = onClick ) { Text(text = "Showkase Browser") @@ -53,3 +56,16 @@ internal fun ShowkaseButton( } } } + +@Preview +@Composable +internal fun ShowkaseButtonLightPreview() = ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun ShowkaseButtonDarkPreview() = ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + ShowkaseButton(isVisible = true) +} 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 774158856e..2a17b74521 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 @@ -36,7 +36,7 @@ fun elementColorsDark() = ElementColors( // TODO Lots of colors are missing val materialColorSchemeDark = darkColorScheme( primary = Color.White, - // TODO onPrimary = ColorDarkTokens.OnPrimary, + onPrimary = Color.Black, // TODO primaryContainer = ColorDarkTokens.PrimaryContainer, // TODO onPrimaryContainer = ColorDarkTokens.OnPrimaryContainer, // TODO inversePrimary = ColorDarkTokens.InversePrimary, 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 dc13718360..2e69b5a7ff 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 @@ -36,7 +36,7 @@ fun elementColorsLight() = ElementColors( // TODO Lots of colors are missing val materialColorSchemeLight = lightColorScheme( primary = Color.Black, - // TODO onPrimary = ColorLightTokens.OnPrimary, + onPrimary = Color.White, // TODO primaryContainer = ColorLightTokens.PrimaryContainer, // TODO onPrimaryContainer = ColorLightTokens.OnPrimaryContainer, // TODO inversePrimary = ColorLightTokens.InversePrimary, diff --git a/tests/uitests/src/main/kotlin/io/element/android/tests/uitests/ShowkaseButton.kt b/tests/uitests/src/main/kotlin/io/element/android/tests/uitests/ShowkaseButton.kt deleted file mode 100644 index 3510d99d9f..0000000000 --- a/tests/uitests/src/main/kotlin/io/element/android/tests/uitests/ShowkaseButton.kt +++ /dev/null @@ -1,75 +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.tests.uitests - -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Close -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.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.Icon -import io.element.android.libraries.designsystem.theme.components.IconButton -import io.element.android.libraries.designsystem.theme.components.Text - -@Composable -fun ShowkaseButton( - modifier: Modifier = Modifier, - onClick: () -> Unit = {}, -) { - var isShowkaseButtonVisible by remember { mutableStateOf(BuildConfig.DEBUG) } - - if (isShowkaseButtonVisible) { - Button( - modifier = modifier - .padding(top = 32.dp), - onClick = onClick - ) { - Text(text = "Showkase Browser") - IconButton( - modifier = Modifier - .padding(start = 8.dp) - .size(16.dp), - onClick = { isShowkaseButtonVisible = false }, - ) { - Icon(imageVector = Icons.Filled.Close, contentDescription = "") - } - } - } -} - -@Preview -@Composable -internal fun ShowkaseButtonLightPreview() = ElementPreviewLight { ContentToPreview() } - -@Preview -@Composable -internal fun ShowkaseButtonDarkPreview() = ElementPreviewDark { ContentToPreview() } - -@Composable -private fun ContentToPreview() { - ShowkaseButton() -} From 0230099c6d4e5cdf3fcc87be63dd732354e2b1b5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 12:27:03 +0100 Subject: [PATCH 31/62] Create MessageComposerStateProvider. Preview is limited for now. --- .../textcomposer/MessageComposerState.kt | 7 ---- .../MessageComposerStateProvider.kt | 35 +++++++++++++++++++ .../textcomposer/MessageComposerView.kt | 19 ++++++++++ 3 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerStateProvider.kt diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerState.kt index 7e37e83ff7..2b5396cb9e 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerState.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerState.kt @@ -29,10 +29,3 @@ data class MessageComposerState( ) { val isSendButtonVisible: Boolean = text?.charSequence.isNullOrEmpty().not() } - -fun aMessageComposerState() = MessageComposerState( - text = StableCharSequence(""), - isFullScreen = false, - mode = MessageComposerMode.Normal(content = ""), - eventSink = {} -) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerStateProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerStateProvider.kt new file mode 100644 index 0000000000..d777893d58 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerStateProvider.kt @@ -0,0 +1,35 @@ +/* + * 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.features.messages.textcomposer + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.libraries.core.data.StableCharSequence +import io.element.android.libraries.textcomposer.MessageComposerMode + +open class MessageComposerStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aMessageComposerState(), + ) +} + +fun aMessageComposerState() = MessageComposerState( + text = StableCharSequence(""), + isFullScreen = false, + mode = MessageComposerMode.Normal(content = ""), + eventSink = {} +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerView.kt index 0d2401d667..b720ab5fbb 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerView.kt @@ -18,6 +18,10 @@ package io.element.android.features.messages.textcomposer import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +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 @@ -55,3 +59,18 @@ fun MessageComposerView( modifier = modifier ) } + +@Preview +@Composable +internal fun MessageComposerViewLightPreview(@PreviewParameter(MessageComposerStateProvider::class) state: MessageComposerState) = + ElementPreviewLight { ContentToPreview(state) } + +@Preview +@Composable +internal fun MessageComposerViewDarkPreview(@PreviewParameter(MessageComposerStateProvider::class) state: MessageComposerState) = + ElementPreviewDark { ContentToPreview(state) } + +@Composable +private fun ContentToPreview(state: MessageComposerState) { + MessageComposerView(state) +} From 276d5e7d50d4d64301678234300d58a5b7087f9e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 12:30:17 +0100 Subject: [PATCH 32/62] Create MessagesStateProvider --- .../messages/MessagesStateProvider.kt | 52 +++++++++++++++++++ .../android/features/messages/MessagesView.kt | 36 +++---------- 2 files changed, 59 insertions(+), 29 deletions(-) create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/MessagesStateProvider.kt diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesStateProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesStateProvider.kt new file mode 100644 index 0000000000..ee846e9f6c --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesStateProvider.kt @@ -0,0 +1,52 @@ +/* + * 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.features.messages + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.messages.actionlist.anActionListState +import io.element.android.features.messages.textcomposer.aMessageComposerState +import io.element.android.features.messages.timeline.aTimelineItemContent +import io.element.android.features.messages.timeline.aTimelineItemList +import io.element.android.features.messages.timeline.aTimelineState +import io.element.android.libraries.core.data.StableCharSequence +import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.textcomposer.MessageComposerMode + +open class MessagesStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aMessagesState(), + ) +} + +fun aMessagesState() = MessagesState( + roomId = RoomId("!id"), + roomName = "Room name", + roomAvatar = AvatarData("!id", "Room name"), + composerState = aMessageComposerState().copy( + text = StableCharSequence("Hello"), + isFullScreen = false, + mode = MessageComposerMode.Normal("Hello"), + ), + timelineState = aTimelineState().copy( + timelineItems = aTimelineItemList(aTimelineItemContent()), + hasMoreToLoad = false, + ), + actionListState = anActionListState(), + eventSink = {} +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt index c63bdb5c89..d0b858105d 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesView.kt @@ -39,28 +39,21 @@ import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.text.font.FontWeight 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.sp import io.element.android.features.messages.actionlist.ActionListEvents import io.element.android.features.messages.actionlist.ActionListView -import io.element.android.features.messages.actionlist.anActionListState import io.element.android.features.messages.actionlist.model.TimelineItemAction import io.element.android.features.messages.textcomposer.MessageComposerView -import io.element.android.features.messages.textcomposer.aMessageComposerState import io.element.android.features.messages.timeline.TimelineView -import io.element.android.features.messages.timeline.aTimelineState -import io.element.android.features.messages.timeline.aTimelineItemContent -import io.element.android.features.messages.timeline.aTimelineItemList import io.element.android.features.messages.timeline.model.TimelineItem -import io.element.android.libraries.core.data.StableCharSequence import io.element.android.libraries.designsystem.components.avatar.Avatar import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.* import io.element.android.libraries.designsystem.utils.LogCompositions -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.textcomposer.MessageComposerMode import kotlinx.coroutines.launch import timber.log.Timber @@ -198,30 +191,15 @@ fun MessagesViewTopBar( @Preview @Composable -internal fun MessagesViewLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun MessagesViewLightPreview(@PreviewParameter(MessagesStateProvider::class) state: MessagesState) = + ElementPreviewLight { ContentToPreview(state) } @Preview @Composable -internal fun MessagesViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun MessagesViewDarkPreview(@PreviewParameter(MessagesStateProvider::class) state: MessagesState) = + ElementPreviewDark { ContentToPreview(state) } @Composable -private fun ContentToPreview() { - MessagesView( - MessagesState( - roomId = RoomId("!id"), - roomName = "Room name", - roomAvatar = AvatarData("!id", "Room name"), - composerState = aMessageComposerState().copy( - text = StableCharSequence("Hello"), - isFullScreen = false, - mode = MessageComposerMode.Normal("Hello"), - ), - timelineState = aTimelineState().copy( - timelineItems = aTimelineItemList(aTimelineItemContent()), - hasMoreToLoad = false, - ), - actionListState = anActionListState(), - eventSink = {} - ) - ) +private fun ContentToPreview(state: MessagesState) { + MessagesView(state) } From d382f59b5056ee3fae323fa1e4d6a12b598e3bce Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 12:54:06 +0100 Subject: [PATCH 33/62] Add preview for MessageEventBubble. --- .../messages/timeline/TimelineView.kt | 11 ++-- .../timeline/components/BubbleState.kt | 27 +++++++++ .../components/BubbleStateProvider.kt | 58 +++++++++++++++++++ .../timeline/components/MessageEventBubble.kt | 55 ++++++++++++++---- 4 files changed, 137 insertions(+), 14 deletions(-) create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/BubbleState.kt create mode 100644 features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/BubbleStateProvider.kt diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt index b211aead61..1a9879b2cb 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineView.kt @@ -54,6 +54,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.zIndex +import io.element.android.features.messages.timeline.components.BubbleState import io.element.android.features.messages.timeline.components.MessageEventBubble import io.element.android.features.messages.timeline.components.TimelineItemEncryptedView import io.element.android.features.messages.timeline.components.TimelineItemImageView @@ -62,8 +63,8 @@ import io.element.android.features.messages.timeline.components.TimelineItemReda import io.element.android.features.messages.timeline.components.TimelineItemTextView import io.element.android.features.messages.timeline.components.TimelineItemUnknownView import io.element.android.features.messages.timeline.model.TimelineItem -import io.element.android.features.messages.timeline.model.content.TimelineItemContentProvider import io.element.android.features.messages.timeline.model.content.TimelineItemContent +import io.element.android.features.messages.timeline.model.content.TimelineItemContentProvider import io.element.android.features.messages.timeline.model.content.TimelineItemEncryptedContent import io.element.android.features.messages.timeline.model.content.TimelineItemImageContent import io.element.android.features.messages.timeline.model.content.TimelineItemRedactedContent @@ -193,10 +194,12 @@ fun MessageEventRow( ) } MessageEventBubble( - groupPosition = messageEvent.groupPosition, - isMine = messageEvent.isMine, + state = BubbleState( + groupPosition = messageEvent.groupPosition, + isMine = messageEvent.isMine, + isHighlighted = isHighlighted, + ), interactionSource = interactionSource, - isHighlighted = isHighlighted, onClick = onClick, onLongClick = onLongClick, modifier = Modifier diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/BubbleState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/BubbleState.kt new file mode 100644 index 0000000000..08e1e7c584 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/BubbleState.kt @@ -0,0 +1,27 @@ +/* + * 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.features.messages.timeline.components + +import androidx.compose.runtime.Stable +import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition + +@Stable +data class BubbleState( + val groupPosition: MessagesItemGroupPosition, + val isMine: Boolean, + val isHighlighted: Boolean, +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/BubbleStateProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/BubbleStateProvider.kt new file mode 100644 index 0000000000..c2b2680283 --- /dev/null +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/BubbleStateProvider.kt @@ -0,0 +1,58 @@ +/* + * 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.features.messages.timeline.components + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition + +open class BubbleStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + BubbleState(MessagesItemGroupPosition.First, isMine = false, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.First, isMine = false, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.First, isMine = false, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.First, isMine = false, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.First, isMine = true, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.First, isMine = true, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.First, isMine = true, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.First, isMine = true, isHighlighted = true), + + BubbleState(MessagesItemGroupPosition.Middle, isMine = false, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.Middle, isMine = false, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.Middle, isMine = false, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.Middle, isMine = false, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.Middle, isMine = true, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.Middle, isMine = true, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.Middle, isMine = true, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.Middle, isMine = true, isHighlighted = true), + + BubbleState(MessagesItemGroupPosition.Last, isMine = false, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.Last, isMine = false, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.Last, isMine = false, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.Last, isMine = false, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.Last, isMine = true, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.Last, isMine = true, isHighlighted = true), + BubbleState(MessagesItemGroupPosition.Last, isMine = true, isHighlighted = false), + BubbleState(MessagesItemGroupPosition.Last, isMine = true, isHighlighted = true), + ) +} + +fun aBubbleState() = BubbleState( + groupPosition = MessagesItemGroupPosition.First, + isMine = false, + isHighlighted = false, +) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/MessageEventBubble.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/MessageEventBubble.kt index 02fa87ec29..06c1d078aa 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/MessageEventBubble.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/MessageEventBubble.kt @@ -19,16 +19,25 @@ package io.element.android.features.messages.timeline.components import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.ripple.rememberRipple import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition +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.designsystem.theme.components.Surface @@ -37,28 +46,26 @@ private val BUBBLE_RADIUS = 16.dp @OptIn(ExperimentalFoundationApi::class) @Composable fun MessageEventBubble( - groupPosition: MessagesItemGroupPosition, - isMine: Boolean, + state: BubbleState, interactionSource: MutableInteractionSource, - isHighlighted: Boolean, modifier: Modifier = Modifier, onClick: () -> Unit = {}, onLongClick: () -> Unit = {}, content: @Composable () -> Unit = {}, ) { fun bubbleShape(): Shape { - return when (groupPosition) { - MessagesItemGroupPosition.First -> if (isMine) { + return when (state.groupPosition) { + MessagesItemGroupPosition.First -> if (state.isMine) { RoundedCornerShape(BUBBLE_RADIUS, BUBBLE_RADIUS, 0.dp, BUBBLE_RADIUS) } else { RoundedCornerShape(BUBBLE_RADIUS, BUBBLE_RADIUS, BUBBLE_RADIUS, 0.dp) } - MessagesItemGroupPosition.Middle -> if (isMine) { + MessagesItemGroupPosition.Middle -> if (state.isMine) { RoundedCornerShape(BUBBLE_RADIUS, 0.dp, 0.dp, BUBBLE_RADIUS) } else { RoundedCornerShape(0.dp, BUBBLE_RADIUS, BUBBLE_RADIUS, 0.dp) } - MessagesItemGroupPosition.Last -> if (isMine) { + MessagesItemGroupPosition.Last -> if (state.isMine) { RoundedCornerShape(BUBBLE_RADIUS, 0.dp, BUBBLE_RADIUS, BUBBLE_RADIUS) } else { RoundedCornerShape(0.dp, BUBBLE_RADIUS, BUBBLE_RADIUS, BUBBLE_RADIUS) @@ -74,17 +81,17 @@ fun MessageEventBubble( } fun Modifier.offsetForItem(): Modifier { - return if (isMine) { + return if (state.isMine) { offset(y = -(12.dp)) } else { offset(x = 20.dp, y = -(12.dp)) } } - val backgroundBubbleColor = if (isHighlighted) { + val backgroundBubbleColor = if (state.isHighlighted) { ElementTheme.colors.messageHighlightedBackground } else { - if (isMine) { + if (state.isMine) { ElementTheme.colors.messageFromMeBackground } else { ElementTheme.colors.messageFromOtherBackground @@ -107,3 +114,31 @@ fun MessageEventBubble( content = content ) } + +@Preview +@Composable +internal fun MessageEventBubbleLightPreview(@PreviewParameter(BubbleStateProvider::class) state: BubbleState) = + ElementPreviewLight { ContentToPreview(state) } + +@Preview +@Composable +internal fun MessageEventBubbleDarkPreview(@PreviewParameter(BubbleStateProvider::class) state: BubbleState) = + ElementPreviewDark { ContentToPreview(state) } + +@Composable +private fun ContentToPreview(state: BubbleState) { + // Due to y offset, surround with a Box + Box( + modifier = Modifier + .size(width = 240.dp, height = 64.dp) + .padding(8.dp), + contentAlignment = Alignment.CenterStart, + ) { + MessageEventBubble( + state = state, + interactionSource = MutableInteractionSource(), + ) { + Spacer(modifier = Modifier.size(width = 120.dp, height = 32.dp)) + } + } +} From 25bf63527dc8da679cc9c99a27296a907f1c75f3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 13:10:59 +0100 Subject: [PATCH 34/62] Add some previews. --- .../theme/components/FloatingActionButton.kt | 27 ++++++++++++++++++ .../designsystem/theme/components/Icon.kt | 20 +++++++++++++ .../theme/components/IconButton.kt | 22 +++++++++++++++ .../theme/components/MediumTopAppBar.kt | 20 +++++++++++++ .../components/ModalBottomSheetLayout.kt | 28 +++++++++++++++++++ .../designsystem/theme/components/Surface.kt | 22 +++++++++++++++ .../theme/components/TextField.kt | 18 ++++++++++++ .../theme/components/TopAppBar.kt | 20 +++++++++++++ 8 files changed, 177 insertions(+) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/FloatingActionButton.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/FloatingActionButton.kt index e27f2e7b25..690a58334d 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/FloatingActionButton.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/FloatingActionButton.kt @@ -17,6 +17,10 @@ package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.padding +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Close import androidx.compose.material3.FloatingActionButtonDefaults import androidx.compose.material3.FloatingActionButtonElevation import androidx.compose.material3.contentColorFor @@ -25,6 +29,10 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape +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 @Composable fun FloatingActionButton( @@ -48,3 +56,22 @@ fun FloatingActionButton( content = content, ) } + +@Preview +@Composable +internal fun FloatingActionButtonLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun FloatingActionButtonDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + Box(modifier = Modifier.padding(8.dp)) { + FloatingActionButton(onClick = {}) { + Icon(imageVector = Icons.Filled.Close, contentDescription = "") + } + } +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt index 6006a6c60a..5682cb4bd5 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt @@ -16,12 +16,17 @@ package io.element.android.libraries.designsystem.theme.components +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Close import androidx.compose.material3.LocalContentColor import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.tooling.preview.Preview +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight @Composable fun Icon( @@ -52,3 +57,18 @@ fun Icon( tint = tint, ) } + +@Preview +@Composable +internal fun IconImageVectorLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun IconImageVectorDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + Icon(imageVector = Icons.Filled.Close, contentDescription = "") +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/IconButton.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/IconButton.kt index 5af819c1f0..e5dee44333 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/IconButton.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/IconButton.kt @@ -17,10 +17,15 @@ package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Close import androidx.compose.material3.IconButtonDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.remember 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 @Composable fun IconButton( @@ -39,3 +44,20 @@ fun IconButton( content = content, ) } + +@Preview +@Composable +internal fun IconButtonLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun IconButtonDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + IconButton(onClick = {}) { + Icon(imageVector = Icons.Filled.Close, contentDescription = "") + } +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/MediumTopAppBar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/MediumTopAppBar.kt index cbc215717d..0c13bb2e8c 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/MediumTopAppBar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/MediumTopAppBar.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:OptIn(ExperimentalMaterial3Api::class) + package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.layout.RowScope @@ -24,6 +26,9 @@ import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarScrollBehavior 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 @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -46,3 +51,18 @@ fun MediumTopAppBar( scrollBehavior = scrollBehavior, ) } + +@Preview +@Composable +internal fun MediumTopAppBarLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun MediumTopAppBarDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + MediumTopAppBar(title = { Text(text = "Title") }) +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheetLayout.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheetLayout.kt index 6b558e3418..7c498a610c 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheetLayout.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheetLayout.kt @@ -14,8 +14,11 @@ * limitations under the License. */ +@file:OptIn(ExperimentalMaterialApi::class, ExperimentalMaterialApi::class) + package io.element.android.libraries.designsystem.theme.components +import androidx.compose.foundation.background import androidx.compose.foundation.layout.ColumnScope import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.MaterialTheme @@ -28,7 +31,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape +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 @OptIn(ExperimentalMaterialApi::class) @Composable @@ -55,3 +61,25 @@ fun ModalBottomSheetLayout( content = content, ) } + +@Preview +@Composable +internal fun ModalBottomSheetLayoutLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun ModalBottomSheetLayoutDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + ModalBottomSheetLayout( + sheetState = ModalBottomSheetState(ModalBottomSheetValue.Expanded), + sheetContent = { + Text(text = "Sheet Content", modifier = Modifier.background(color = Color.Green)) + } + ) { + Text(text = "Content", modifier = Modifier.background(color = Color.Red)) + } +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Surface.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Surface.kt index 8518d8a715..d9c86fba82 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Surface.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Surface.kt @@ -17,6 +17,8 @@ package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.size import androidx.compose.material3.MaterialTheme import androidx.compose.material3.contentColorFor import androidx.compose.runtime.Composable @@ -24,8 +26,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight @Composable fun Surface( @@ -49,3 +54,20 @@ fun Surface( content = content, ) } + +@Preview +@Composable +internal fun SurfaceLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun SurfaceDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + Surface { + Spacer(modifier = Modifier.size(64.dp)) + } +} 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 27995b46af..e9f6502fba 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 @@ -29,6 +29,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Shape import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.input.VisualTransformation +import androidx.compose.ui.tooling.preview.Preview +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -77,3 +80,18 @@ fun TextField( colors = colors, ) } + +@Preview +@Composable +internal fun TextFieldLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun TextFieldDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + TextField(value = "Hello", onValueChange = {}) +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TopAppBar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TopAppBar.kt index 76c388cefe..a187a0ae12 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TopAppBar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TopAppBar.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:OptIn(ExperimentalMaterial3Api::class) + package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.layout.RowScope @@ -24,6 +26,9 @@ import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarScrollBehavior 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 @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -46,3 +51,18 @@ fun TopAppBar( scrollBehavior = scrollBehavior, ) } + +@Preview +@Composable +internal fun TopAppBarLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun TopAppBarDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + TopAppBar(title = { Text(text = "Title") }) +} From d253670d784e5c5438588ec289ae71aa0e245eea Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 13:17:31 +0100 Subject: [PATCH 35/62] Add some previews. --- .../components/ImageVectorProvider.kt | 30 +++++++++++++++++++ .../preferences/components/PreferenceIcon.kt | 19 ++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorProvider.kt diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorProvider.kt new file mode 100644 index 0000000000..17cbee07d6 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/ImageVectorProvider.kt @@ -0,0 +1,30 @@ +/* + * 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.components + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.BugReport +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.tooling.preview.PreviewParameterProvider + +open class ImageVectorProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + null, + Icons.Default.BugReport, + ) +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/PreferenceIcon.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/PreferenceIcon.kt index 81c8146c57..7f8f3ea17d 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/PreferenceIcon.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/components/PreferenceIcon.kt @@ -22,7 +22,11 @@ import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter 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.Icon import io.element.android.libraries.designsystem.toEnabledColor @@ -45,3 +49,18 @@ fun PreferenceIcon( Spacer(modifier = modifier.width(56.dp)) } } + +@Preview +@Composable +internal fun PreferenceIconLightPreview(@PreviewParameter(ImageVectorProvider::class) content: ImageVector?) = + ElementPreviewLight { ContentToPreview(content) } + +@Preview +@Composable +internal fun PreferenceIconDarkPreview(@PreviewParameter(ImageVectorProvider::class) content: ImageVector?) = + ElementPreviewDark { ContentToPreview(content) } + +@Composable +private fun ContentToPreview(content: ImageVector?) { + PreferenceIcon(content) +} From 9234f47ce3f893fd1030167ddfd0f0bfad3a2985 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 13:23:38 +0100 Subject: [PATCH 36/62] Move and rename VectorIcon --- .../login/changeserver/ChangeServerView.kt | 5 ++- .../messages/actionlist/ActionListView.kt | 5 ++- .../designsystem/components/VectorIcon.kt | 37 ------------------- .../designsystem/theme/components/Icon.kt | 17 +++++++++ 4 files changed, 23 insertions(+), 41 deletions(-) delete mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/VectorIcon.kt diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt index e934675f91..9610e43f3f 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerView.kt @@ -48,12 +48,12 @@ import androidx.compose.ui.unit.sp import io.element.android.features.login.R import io.element.android.features.login.error.changeServerError import io.element.android.libraries.architecture.Async -import io.element.android.libraries.designsystem.components.VectorIcon import io.element.android.libraries.designsystem.components.form.textFieldState 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.CircularProgressIndicator +import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.OutlinedTextField import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.testtags.TestTags @@ -91,12 +91,13 @@ fun ChangeServerView( shape = RoundedCornerShape(32.dp) ) ) { - VectorIcon( + Icon( modifier = Modifier .align(Alignment.Center) .size(width = 48.dp, height = 48.dp), // TODO Update with design input resourceId = R.drawable.ic_baseline_dataset_24, + contentDescription = "", ) } Text( diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt index a3ca2eb2d6..01719a7f9c 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/actionlist/ActionListView.kt @@ -42,9 +42,9 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.features.messages.actionlist.model.TimelineItemAction import io.element.android.features.messages.timeline.model.TimelineItem -import io.element.android.libraries.designsystem.components.VectorIcon import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight +import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.ModalBottomSheetLayout import kotlinx.coroutines.flow.filter import kotlinx.coroutines.launch @@ -121,8 +121,9 @@ private fun SheetContent( ) }, icon = { - VectorIcon( + Icon( resourceId = action.icon, + contentDescription = "", tint = if (action.destructive) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.primary, ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/VectorIcon.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/VectorIcon.kt deleted file mode 100644 index d576b1dacc..0000000000 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/VectorIcon.kt +++ /dev/null @@ -1,37 +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.designsystem.components - -import androidx.compose.material3.LocalContentColor -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.res.painterResource - -@Composable -fun VectorIcon( - resourceId: Int, - modifier: Modifier = Modifier, - tint: Color = LocalContentColor.current, -) { - androidx.compose.material3.Icon( - painter = painterResource(id = resourceId), - contentDescription = null, - modifier = modifier, - tint = tint - ) -} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt index 5682cb4bd5..7f67d0034f 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt @@ -16,6 +16,7 @@ package io.element.android.libraries.designsystem.theme.components +import androidx.annotation.DrawableRes import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Close import androidx.compose.material3.LocalContentColor @@ -24,6 +25,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight @@ -58,6 +60,21 @@ fun Icon( ) } +@Composable +fun Icon( + @DrawableRes resourceId: Int, + contentDescription: String?, + modifier: Modifier = Modifier, + tint: Color = LocalContentColor.current, +) { + androidx.compose.material3.Icon( + painter = painterResource(id = resourceId), + contentDescription = contentDescription, + modifier = modifier, + tint = tint + ) +} + @Preview @Composable internal fun IconImageVectorLightPreview() = From f466ee36396565bae4492936f100fa6f5a58117f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 13:27:07 +0100 Subject: [PATCH 37/62] Add some previews. --- .../components/ClickableLinkText.kt | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt index 54a8be0334..5d0f0f0aae 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt @@ -30,8 +30,12 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.ParagraphStyle import androidx.compose.ui.text.TextLayoutResult import androidx.compose.ui.text.TextStyle +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 kotlinx.collections.immutable.ImmutableMap import kotlinx.collections.immutable.persistentMapOf @@ -88,3 +92,24 @@ fun ClickableLinkText( color = MaterialTheme.colorScheme.primary, ) } + +@Preview +@Composable +internal fun ClickableLinkTextLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun ClickableLinkTextDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + ClickableLinkText( + text = AnnotatedString("Hello", ParagraphStyle()), + linkAnnotationTag = "", + onClick = {}, + onLongClick = {}, + interactionSource = MutableInteractionSource(), + ) +} From 24984416dd440df253b67f5b2039f1338e6ea203 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 13:34:05 +0100 Subject: [PATCH 38/62] Add some previews. --- .../roomlist/components/RoomSummaryRow.kt | 20 +++++++++ .../model/RoomListRoomSummaryProvider.kt | 44 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryProvider.kt diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomSummaryRow.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomSummaryRow.kt index 53ca8b5d1f..506ced9a1d 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomSummaryRow.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomSummaryRow.kt @@ -46,13 +46,18 @@ import androidx.compose.ui.graphics.Path import androidx.compose.ui.graphics.Shape import androidx.compose.ui.text.font.FontWeight 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.Density import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.google.accompanist.placeholder.material.placeholder import io.element.android.features.roomlist.model.RoomListRoomSummary +import io.element.android.features.roomlist.model.RoomListRoomSummaryProvider import io.element.android.libraries.designsystem.components.avatar.Avatar +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.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.roomListPlaceHolder @@ -192,3 +197,18 @@ class PercentRectangleSizeShape(private val percent: Float) : Shape { return Outline.Generic(path) } } + +@Preview +@Composable +internal fun RoomSummaryRowLightPreview(@PreviewParameter(RoomListRoomSummaryProvider::class) data: RoomListRoomSummary) = + ElementPreviewLight { ContentToPreview(data) } + +@Preview +@Composable +internal fun RoomSummaryRowDarkPreview(@PreviewParameter(RoomListRoomSummaryProvider::class) data: RoomListRoomSummary) = + ElementPreviewDark { ContentToPreview(data) } + +@Composable +private fun ContentToPreview(data: RoomListRoomSummary) { + RoomSummaryRow(data) +} diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryProvider.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryProvider.kt new file mode 100644 index 0000000000..41a6f96473 --- /dev/null +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryProvider.kt @@ -0,0 +1,44 @@ +/* + * 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.features.roomlist.model + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.matrix.core.RoomId + +open class RoomListRoomSummaryProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aRoomListRoomSummary(), + aRoomListRoomSummary().copy(lastMessage = null), + aRoomListRoomSummary().copy(hasUnread = true), + aRoomListRoomSummary().copy(timestamp = "88:88"), + aRoomListRoomSummary().copy(timestamp = "88:88", hasUnread = true), + aRoomListRoomSummary().copy(isPlaceholder = true), + ) +} + +fun aRoomListRoomSummary() = RoomListRoomSummary( + id = "!roomId", + roomId = RoomId("!roomId"), + name = "Room name", + hasUnread = false, + timestamp = null, + lastMessage = "Last message", + avatarData = AvatarData("!roomId", "Room name"), + isPlaceholder = false, +) From 442fb212ae91b7934edc0222fcbc824fc33c5cb0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 13:39:00 +0100 Subject: [PATCH 39/62] Add some previews. --- .../preferences/user/UserPreferences.kt | 24 +++++++++++++++++++ .../ui/components/MatrixUserProvider.kt | 15 ++++++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/features/preferences/src/main/kotlin/io/element/android/features/preferences/user/UserPreferences.kt b/features/preferences/src/main/kotlin/io/element/android/features/preferences/user/UserPreferences.kt index f068e71f3b..34e0137137 100644 --- a/features/preferences/src/main/kotlin/io/element/android/features/preferences/user/UserPreferences.kt +++ b/features/preferences/src/main/kotlin/io/element/android/features/preferences/user/UserPreferences.kt @@ -20,9 +20,14 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.libraries.architecture.Async +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.matrix.ui.components.MatrixUserHeader +import io.element.android.libraries.matrix.ui.components.MatrixUserWithNullProvider import io.element.android.libraries.matrix.ui.model.MatrixUser @Composable @@ -38,3 +43,22 @@ fun UserPreferences( ) } } + +@Preview +@Composable +internal fun UserPreferencesLightPreview(@PreviewParameter(MatrixUserWithNullProvider::class) matrixUser: MatrixUser?) = + ElementPreviewLight { ContentToPreview(matrixUser) } + +@Preview +@Composable +internal fun UserPreferencesDarkPreview(@PreviewParameter(MatrixUserWithNullProvider::class) matrixUser: MatrixUser?) = + ElementPreviewDark { ContentToPreview(matrixUser) } + +@Composable +private fun ContentToPreview(matrixUser: MatrixUser?) { + if (matrixUser == null) { + UserPreferences(Async.Uninitialized) + } else { + UserPreferences(Async.Success(matrixUser)) + } +} diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt index 53a5e7a16a..9112a548a6 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt @@ -25,8 +25,7 @@ open class MatrixUserProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aMatrixUser(), - MatrixUser( - id = UserId("@id_of_alice:server.org"), + aMatrixUser().copy( username = null, avatarData = anAvatarData().copy(name = null) ), @@ -38,3 +37,15 @@ fun aMatrixUser() = MatrixUser( username = "Alice", avatarData = anAvatarData() ) + +open class MatrixUserWithNullProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aMatrixUser(), + aMatrixUser().copy( + username = null, + avatarData = anAvatarData().copy(name = null) + ), + null, + ) +} From 1580519b90c1a6856a0d9fdafd7858879bfc04fa Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 13:49:58 +0100 Subject: [PATCH 40/62] Add some previews. --- .../features/onboarding/OnBoardingScreen.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/features/onboarding/src/main/kotlin/io/element/android/features/onboarding/OnBoardingScreen.kt b/features/onboarding/src/main/kotlin/io/element/android/features/onboarding/OnBoardingScreen.kt index b2699c1816..a83043e199 100644 --- a/features/onboarding/src/main/kotlin/io/element/android/features/onboarding/OnBoardingScreen.kt +++ b/features/onboarding/src/main/kotlin/io/element/android/features/onboarding/OnBoardingScreen.kt @@ -24,6 +24,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.systemBarsPadding +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -37,12 +38,15 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight 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 com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.HorizontalPagerIndicator import com.google.accompanist.pager.rememberPagerState +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.testtags.TestTags @@ -150,6 +154,7 @@ fun OnBoardingPage( .padding(8.dp), textAlign = TextAlign.Center, fontWeight = FontWeight.Bold, + color = MaterialTheme.colorScheme.primary, fontSize = 24.sp, ) Text( @@ -158,7 +163,23 @@ fun OnBoardingPage( .fillMaxWidth() .align(CenterHorizontally), textAlign = TextAlign.Center, + color = MaterialTheme.colorScheme.primary, ) } } } + +@Preview +@Composable +internal fun OnBoardingScreenLightPreview() = + ElementPreviewLight { ContentToPreview() } + +@Preview +@Composable +internal fun OnBoardingScreenDarkPreview() = + ElementPreviewDark { ContentToPreview() } + +@Composable +private fun ContentToPreview() { + OnBoardingScreen() +} From a19d678dcda09d94c3f3111962542dd0e0fad4e4 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 14:01:09 +0100 Subject: [PATCH 41/62] Add some previews. --- .../components/TimelineItemTextView.kt | 21 +++++++ .../content/TimelineItemContentProvider.kt | 58 +++++++++++++------ 2 files changed, 62 insertions(+), 17 deletions(-) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemTextView.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemTextView.kt index ad1bb5edb9..993b461c11 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemTextView.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/TimelineItemTextView.kt @@ -27,11 +27,16 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.core.text.util.LinkifyCompat import io.element.android.features.messages.timeline.components.html.HtmlDocument import io.element.android.features.messages.timeline.model.content.TimelineItemTextBasedContent +import io.element.android.features.messages.timeline.model.content.TimelineItemTextBasedContentProvider import io.element.android.libraries.designsystem.LinkColor import io.element.android.libraries.designsystem.components.ClickableLinkText +import io.element.android.libraries.designsystem.preview.ElementPreviewDark +import io.element.android.libraries.designsystem.preview.ElementPreviewLight @Composable fun TimelineItemTextView( @@ -91,3 +96,19 @@ private fun String.linkify( ) } } + +@Preview +@Composable +internal fun TimelineItemTextViewLightPreview(@PreviewParameter(TimelineItemTextBasedContentProvider::class) content: TimelineItemTextBasedContent) = + ElementPreviewLight { ContentToPreview(content) } + +@Preview +@Composable +internal fun TimelineItemTextViewDarkPreview(@PreviewParameter(TimelineItemTextBasedContentProvider::class) content: TimelineItemTextBasedContent) = + ElementPreviewDark { ContentToPreview(content) } + +@Composable +fun ContentToPreview(content: TimelineItemTextBasedContent) { + TimelineItemTextView(content, MutableInteractionSource()) +} + diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContentProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContentProvider.kt index 83ec1b6f51..aa98364e8d 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContentProvider.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/content/TimelineItemContentProvider.kt @@ -17,27 +17,51 @@ package io.element.android.features.messages.timeline.model.content import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import org.jsoup.Jsoup import org.matrix.rustcomponents.sdk.EncryptedMessage class TimelineItemContentProvider : PreviewParameterProvider { override val values = sequenceOf( - TimelineItemEmoteContent( - body = "Emote", - htmlDocument = null - ), - TimelineItemEncryptedContent( - encryptedMessage = EncryptedMessage.Unknown - ), + aTimelineItemEmoteContent(), + aTimelineItemEncryptedContent(), // TODO MessagesTimelineItemImageContent(), - TimelineItemNoticeContent( - body = "Notice", - htmlDocument = null - ), - TimelineItemRedactedContent, - TimelineItemTextContent( - body = "Text", - htmlDocument = null - ), - TimelineItemUnknownContent, + aTimelineItemNoticeContent(), + aTimelineItemRedactedContent(), + aTimelineItemTextContent(), + aTimelineItemUnknownContent(), ) } + +class TimelineItemTextBasedContentProvider : PreviewParameterProvider { + override val values = sequenceOf( + aTimelineItemEmoteContent(), + aTimelineItemEmoteContent().copy(htmlDocument = Jsoup.parse("Emote")), + aTimelineItemNoticeContent(), + aTimelineItemNoticeContent().copy(htmlDocument = Jsoup.parse("Notice")), + aTimelineItemTextContent(), + aTimelineItemTextContent().copy(htmlDocument = Jsoup.parse("Text")), + ) +} + +fun aTimelineItemEmoteContent() = TimelineItemEmoteContent( + body = "Emote", + htmlDocument = null +) + +fun aTimelineItemEncryptedContent() = TimelineItemEncryptedContent( + encryptedMessage = EncryptedMessage.Unknown +) + +fun aTimelineItemNoticeContent() = TimelineItemNoticeContent( + body = "Notice", + htmlDocument = null +) + +fun aTimelineItemRedactedContent() = TimelineItemRedactedContent + +fun aTimelineItemTextContent() = TimelineItemTextContent( + body = "Text", + htmlDocument = null +) + +fun aTimelineItemUnknownContent() = TimelineItemUnknownContent From ccdd54f2b7f27143560631dfe650d40683605cf8 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 14:54:16 +0100 Subject: [PATCH 42/62] Ignore file generated by Showkase --- build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle.kts b/build.gradle.kts index c05e3558eb..334c539d94 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -186,6 +186,7 @@ koverMerged { "*BuildConfig", // Generated by Showkase "*Ioelementandroid*PreviewKt$*", + "*Ioelementandroid*PreviewKt", // Other // We do not cover Nodes (normally covered by maestro, but code coverage is not computed with maestro) "*Node", From 3f44b895fceb683368542520ae8123911e3193be Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 15:17:41 +0100 Subject: [PATCH 43/62] Test higher level. --- .../rageshake/crash/ui/CrashDetectionScreen.kt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt index a5c7900fb6..50d6488697 100644 --- a/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt +++ b/features/rageshake/src/main/kotlin/io/element/android/features/rageshake/crash/ui/CrashDetectionScreen.kt @@ -41,7 +41,6 @@ fun CrashDetectionView( if (state.crashDetected) { CrashDetectionContent( - state, onYesClicked = onOpenBugReport, onNoClicked = ::onPopupDismissed, onDismiss = ::onPopupDismissed, @@ -51,7 +50,6 @@ fun CrashDetectionView( @Composable fun CrashDetectionContent( - state: CrashDetectionState, onNoClicked: () -> Unit = { }, onYesClicked: () -> Unit = { }, onDismiss: () -> Unit = { }, @@ -69,15 +67,15 @@ fun CrashDetectionContent( @Preview @Composable -internal fun CrashDetectionContentLightPreview() = ElementPreviewLight { ContentToPreview() } +internal fun CrashDetectionViewLightPreview() = ElementPreviewLight { ContentToPreview() } @Preview @Composable -internal fun CrashDetectionContentDarkPreview() = ElementPreviewDark { ContentToPreview() } +internal fun CrashDetectionViewDarkPreview() = ElementPreviewDark { ContentToPreview() } @Composable private fun ContentToPreview() { - CrashDetectionContent( - state = aCrashDetectionState() + CrashDetectionView( + state = aCrashDetectionState().copy(crashDetected = true) ) } From 1505951d315910a7511a6a499479172d2f9ef82f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 15:32:10 +0100 Subject: [PATCH 44/62] Update screenshot test reference --- ...roup_ChangeServerViewDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...oup_ChangeServerViewDarkPreview_0_null_1,NEXUS_5,1,en].png} | 0 ...roup_ChangeServerViewDarkPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...roup_ChangeServerViewDarkPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...roup_ChangeServerViewDarkPreview_0_null_4,NEXUS_5,1,en].png | 3 +++ ...oup_ChangeServerViewLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...up_ChangeServerViewLightPreview_0_null_1,NEXUS_5,1,en].png} | 0 ...oup_ChangeServerViewLightPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...oup_ChangeServerViewLightPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...oup_ChangeServerViewLightPreview_0_null_4,NEXUS_5,1,en].png | 3 +++ ..._DefaultGroup_LoginRootScreenDarkPreview_,NEXUS_5,1,en].png | 3 --- ...ltGroup_LoginRootScreenDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...Group_LoginRootScreenLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...p_LogoutPreferenceViewDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ..._LogoutPreferenceViewLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...ltGroup_SheetContentDarkPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...ltGroup_SheetContentDarkPreview_0_null_1,NEXUS_5,1,en].png} | 0 ...ltGroup_SheetContentDarkPreview_0_null_2,NEXUS_5,1,en].png} | 0 ...tGroup_SheetContentLightPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...tGroup_SheetContentLightPreview_0_null_1,NEXUS_5,1,en].png} | 0 ...tGroup_SheetContentLightPreview_0_null_2,NEXUS_5,1,en].png} | 0 ...aultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png | 3 --- ...DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png | 3 --- ...aultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png | 3 --- ...ultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png | 3 --- ...p_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ..._MessageComposerViewLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...ultGroup_HtmlDocumentDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...ltGroup_HtmlDocumentLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_10,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_11,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_12,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_13,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_14,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_15,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_16,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_17,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_18,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_19,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_20,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_21,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_22,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleDarkPreview_0_null_23,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_4,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_5,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_6,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_7,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_8,NEXUS_5,1,en].png | 3 +++ ...up_MessageEventBubbleDarkPreview_0_null_9,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_10,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_11,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_12,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_13,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_14,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_15,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_16,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_17,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_18,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_19,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_20,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_21,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_22,NEXUS_5,1,en].png | 3 +++ ..._MessageEventBubbleLightPreview_0_null_23,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_4,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_5,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_6,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_7,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_8,NEXUS_5,1,en].png | 3 +++ ...p_MessageEventBubbleLightPreview_0_null_9,NEXUS_5,1,en].png | 3 +++ ...essagesReactionButtonDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...essagesReactionButtonDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...essagesReactionButtonDarkPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...essagesReactionButtonDarkPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...ssagesReactionButtonLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...ssagesReactionButtonLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...ssagesReactionButtonLightPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...ssagesReactionButtonLightPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...melineItemEncryptedViewDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...elineItemEncryptedViewLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...TimelineItemImageViewDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...TimelineItemImageViewDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...TimelineItemImageViewDarkPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...imelineItemImageViewLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...imelineItemImageViewLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...imelineItemImageViewLightPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...ineItemInformativeViewDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ...neItemInformativeViewLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...melineItemReactionsViewDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...elineItemReactionsViewLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...imelineItemRedactedViewDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...melineItemRedactedViewLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ..._TimelineItemTextViewDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ..._TimelineItemTextViewDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ..._TimelineItemTextViewDarkPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ..._TimelineItemTextViewDarkPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ..._TimelineItemTextViewDarkPreview_0_null_4,NEXUS_5,1,en].png | 3 +++ ..._TimelineItemTextViewDarkPreview_0_null_5,NEXUS_5,1,en].png | 3 +++ ...TimelineItemTextViewLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...TimelineItemTextViewLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...TimelineItemTextViewLightPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...TimelineItemTextViewLightPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...TimelineItemTextViewLightPreview_0_null_4,NEXUS_5,1,en].png | 3 +++ ...TimelineItemTextViewLightPreview_0_null_5,NEXUS_5,1,en].png | 3 +++ ...TimelineItemUnknownViewDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...imelineItemUnknownViewLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...roup_LoginRootScreenDarkPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...roup_LoginRootScreenDarkPreview_0_null_1,NEXUS_5,1,en].png} | 0 ...roup_LoginRootScreenDarkPreview_0_null_2,NEXUS_5,1,en].png} | 0 ...roup_LoginRootScreenDarkPreview_0_null_3,NEXUS_5,1,en].png} | 0 ...roup_LoginRootScreenDarkPreview_0_null_4,NEXUS_5,1,en].png} | 0 ...roup_LoginRootScreenDarkPreview_0_null_5,NEXUS_5,1,en].png} | 0 ...oup_LoginRootScreenLightPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...oup_LoginRootScreenLightPreview_0_null_1,NEXUS_5,1,en].png} | 0 ...oup_LoginRootScreenLightPreview_0_null_2,NEXUS_5,1,en].png} | 0 ...oup_LoginRootScreenLightPreview_0_null_3,NEXUS_5,1,en].png} | 0 ...oup_LoginRootScreenLightPreview_0_null_4,NEXUS_5,1,en].png} | 0 ...oup_LoginRootScreenLightPreview_0_null_5,NEXUS_5,1,en].png} | 0 ...ltGroup_MessagesViewDarkPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...tGroup_MessagesViewLightPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...tGroup_OnBoardingScreenDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...Group_OnBoardingScreenLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...aultGroup_PreferencesRootViewDarkPreview_,NEXUS_5,1,en].png | 3 --- ...p_PreferencesRootViewDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...p_PreferencesRootViewDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...ultGroup_PreferencesRootViewLightPreview_,NEXUS_5,1,en].png | 3 --- ..._PreferencesRootViewLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ..._PreferencesRootViewLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...Group_UserPreferencesDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...Group_UserPreferencesDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...roup_UserPreferencesDarkPreview_0_null_2,NEXUS_5,1,en].png} | 0 ...roup_UserPreferencesLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...roup_UserPreferencesLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...oup_UserPreferencesLightPreview_0_null_2,NEXUS_5,1,en].png} | 0 ...ll_DefaultGroup_BugReportViewDarkPreview_,NEXUS_5,1,en].png | 3 --- ...ltGroup_BugReportViewDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...ltGroup_BugReportViewDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...ltGroup_BugReportViewDarkPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...ltGroup_BugReportViewDarkPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...Group_BugReportViewLightPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...tGroup_BugReportViewLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...tGroup_BugReportViewLightPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...tGroup_BugReportViewLightPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...ltGroup_CrashDetectionContentDarkPreview_,NEXUS_5,1,en].png | 3 --- ...roup_CrashDetectionViewDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...up_CrashDetectionViewLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...tGroup_RageshakeDialogContentDarkPreview_,NEXUS_5,1,en].png | 3 --- ..._RageshakeDialogContentDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...ageshakeDialogContentLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...roup_RageshakePreferencesViewDarkPreview_,NEXUS_5,1,en].png | 3 --- ...eshakePreferencesViewDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...shakePreferencesViewDarkPreview_0_null_1,NEXUS_5,1,en].png} | 0 ...up_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png | 3 --- ...hakePreferencesViewLightPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...hakePreferencesViewLightPreview_0_null_1,NEXUS_5,1,en].png} | 0 ...p_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png | 3 --- ...kePreferencesViewNotSupportedDarkPreview_,NEXUS_5,1,en].png | 3 --- ...ePreferencesViewNotSupportedLightPreview_,NEXUS_5,1,en].png | 3 --- ..._DefaultRoomListTopBarDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ...DefaultRoomListTopBarLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...tGroup_RoomSummaryRowDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...tGroup_RoomSummaryRowDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...tGroup_RoomSummaryRowDarkPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...tGroup_RoomSummaryRowDarkPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...tGroup_RoomSummaryRowDarkPreview_0_null_4,NEXUS_5,1,en].png | 3 +++ ...tGroup_RoomSummaryRowDarkPreview_0_null_5,NEXUS_5,1,en].png | 3 +++ ...Group_RoomSummaryRowLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...Group_RoomSummaryRowLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...Group_RoomSummaryRowLightPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...Group_RoomSummaryRowLightPreview_0_null_3,NEXUS_5,1,en].png | 3 +++ ...Group_RoomSummaryRowLightPreview_0_null_4,NEXUS_5,1,en].png | 3 +++ ...Group_RoomSummaryRowLightPreview_0_null_5,NEXUS_5,1,en].png | 3 +++ ...p_SearchRoomListTopBarDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ..._SearchRoomListTopBarLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...aultGroup_RoomListViewDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ...ultGroup_RoomListViewLightPreview_0_null,NEXUS_5,1,en].png} | 0 ..._DefaultGroup_AvatarDarkPreview_0_null_0,NEXUS_5,1,en].png} | 0 ...l_DefaultGroup_AvatarDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...l_DefaultGroup_AvatarDarkPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...DefaultGroup_AvatarLightPreview_0_null_0,NEXUS_5,1,en].png} | 0 ..._DefaultGroup_AvatarLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ..._DefaultGroup_AvatarLightPreview_0_null_2,NEXUS_5,1,en].png | 3 +++ ...faultGroup_ConfirmationDialogDarkPreview_,NEXUS_5,1,en].png | 3 --- ...roup_ConfirmationDialogDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...up_ConfirmationDialogLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...null_DefaultGroup_ErrorDialogDarkPreview_,NEXUS_5,1,en].png | 3 --- ...efaultGroup_ErrorDialogDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...aultGroup_ErrorDialogLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...tGroup_PreferenceIconDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...tGroup_PreferenceIconDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...Group_PreferenceIconLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...Group_PreferenceIconLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...faultGroup_PreferenceCategoryDarkPreview_,NEXUS_5,1,en].png | 3 --- ...roup_PreferenceCategoryDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...up_PreferenceCategoryLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...tGroup_PreferenceSlideDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ...Group_PreferenceSlideLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...DefaultGroup_PreferenceSwitchDarkPreview_,NEXUS_5,1,en].png | 3 --- ...tGroup_PreferenceSwitchDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...roup_PreferenceSwitchLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...ltGroup_PreferenceTextDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ...tGroup_PreferenceTextLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...l_DefaultGroup_PreferenceViewDarkPreview_,NEXUS_5,1,en].png | 3 --- ...ultGroup_PreferenceViewDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...tGroup_PreferenceViewLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...Group_ClickableLinkTextDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...roup_ClickableLinkTextLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...DefaultGroup_LabelledCheckboxDarkPreview_,NEXUS_5,1,en].png | 3 --- ...tGroup_LabelledCheckboxDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...roup_LabelledCheckboxLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...ltGroup_ProgressDialogDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ...tGroup_ProgressDialogLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...nts_null_DefaultGroup_ButtonsDarkPreview_,NEXUS_5,1,en].png | 3 --- ...ll_DefaultGroup_ButtonsDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ..._DefaultGroup_ButtonsLightPreview_0_null,NEXUS_5,1,en].png} | 0 ..._null_DefaultGroup_CheckboxesDarkPreview_,NEXUS_5,1,en].png | 3 --- ...DefaultGroup_CheckboxesDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...faultGroup_CheckboxesLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...l_DefaultGroup_DividerDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ..._DefaultGroup_DividerLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...up_FloatingActionButtonDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...p_FloatingActionButtonLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...DefaultGroup_IconButtonDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...efaultGroup_IconButtonLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...ltGroup_IconImageVectorDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...tGroup_IconImageVectorLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...ltGroup_MediumTopAppBarDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...tGroup_MediumTopAppBarLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ..._ModalBottomSheetLayoutDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...ModalBottomSheetLayoutLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...oup_OutlinedTextFieldsDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ...up_OutlinedTextFieldsLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...l_DefaultGroup_SlidersDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ..._DefaultGroup_SlidersLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...ll_DefaultGroup_SurfaceDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...l_DefaultGroup_SurfaceLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...onents_null_DefaultGroup_TextDarkPreview_,NEXUS_5,1,en].png | 3 --- ..._null_DefaultGroup_TextDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ..._DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...ull_DefaultGroup_TextLightPreview_0_null,NEXUS_5,1,en].png} | 0 ..._DefaultGroup_TopAppBarDarkPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...DefaultGroup_TopAppBarLightPreview_0_null,NEXUS_5,1,en].png | 3 +++ ...aultGroup_ColorAliasesDarkPreview_0_null,NEXUS_5,1,en].png} | 0 ...ultGroup_ColorAliasesLightPreview_0_null,NEXUS_5,1,en].png} | 0 ...ull_DefaultGroup_ColorsSchemePreviewDark_,NEXUS_5,1,en].png | 3 --- ...faultGroup_ColorsSchemePreviewDark_0_null,NEXUS_5,1,en].png | 3 +++ ...ultGroup_ColorsSchemePreviewLight_0_null,NEXUS_5,1,en].png} | 0 ...roup_MatrixUserHeaderDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...roup_MatrixUserHeaderDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...faultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png | 3 --- ...faultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png | 3 --- ...oup_MatrixUserHeaderLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...oup_MatrixUserHeaderLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...aultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png | 3 --- ...aultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png | 3 --- ...ll_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png | 3 --- ...ltGroup_MatrixUserRowDarkPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...ltGroup_MatrixUserRowDarkPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ..._DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png | 3 --- ..._DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png | 3 --- ...l_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png | 3 --- ...tGroup_MatrixUserRowLightPreview_0_null_0,NEXUS_5,1,en].png | 3 +++ ...tGroup_MatrixUserRowLightPreview_0_null_1,NEXUS_5,1,en].png | 3 +++ ...DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png | 3 --- ...DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png | 3 --- ...faultGroup_ShowkaseButtonDarkPreview_null,NEXUS_5,1,en].png | 3 --- ...aultGroup_ShowkaseButtonLightPreview_null,NEXUS_5,1,en].png | 3 --- 275 files changed, 513 insertions(+), 111 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_0,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_1,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_4,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_0,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_1,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_4,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__0,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_0,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__1,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_1,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__2,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_2,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__0,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_0,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__1,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_1,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__2,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_2,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.textcomposer_null_DefaultGroup_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.textcomposer_null_DefaultGroup_MessageComposerViewLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components.html_null_DefaultGroup_HtmlDocumentDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components.html_null_DefaultGroup_HtmlDocumentLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_10,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_11,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_12,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_13,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_14,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_15,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_16,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_17,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_18,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_19,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_20,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_21,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_22,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_23,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_4,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_5,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_6,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_7,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_8,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_9,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_10,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_11,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_12,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_13,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_14,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_15,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_16,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_17,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_18,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_19,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_20,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_21,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_22,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_23,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_4,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_5,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_6,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_7,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_8,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_9,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemEncryptedViewDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemEncryptedViewLightPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_2,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemInformativeViewDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemInformativeViewLightPreview_0_null,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemReactionsViewDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemReactionsViewLightPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemRedactedViewDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemRedactedViewLightPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_4,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_5,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_4,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_5,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemUnknownViewDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemUnknownViewLightPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__0,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_0,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__1,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_1,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__2,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_2,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__3,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_3,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__4,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_4,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__5,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_5,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__0,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_0,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__1,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_1,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__2,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_2,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__3,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_3,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__4,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_4,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__5,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_5,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_0_null_0,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_0_null_0,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.onboarding_null_DefaultGroup_OnBoardingScreenDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.onboarding_null_DefaultGroup_OnBoardingScreenLightPreview_0_null,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_0_null_1,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_1,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_2,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_1,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_2,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_3,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_0,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_3,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionContentDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionViewDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionContentLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionViewLightPreview_0_null,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentLightPreview_0_null,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_0_null_0,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__1,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_0_null_1,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_0_null_0,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__1,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_0_null_1,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewNotSupportedDarkPreview_,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewNotSupportedLightPreview_,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_0_null,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_4,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_5,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_2,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_3,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_4,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_5,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_0,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_2,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_0,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_2,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogLightPreview_0_null,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogLightPreview_0_null,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconDarkPreview_0_null_1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconLightPreview_0_null_1,NEXUS_5,1,en].png 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_DefaultGroup_PreferenceCategoryDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceCategoryDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceCategoryLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceCategoryLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSlideDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSlideDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSlideLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSlideLightPreview_0_null,NEXUS_5,1,en].png} (100%) 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_DefaultGroup_PreferenceSwitchDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSwitchDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSwitchLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSwitchLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceTextDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceTextDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceTextLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceTextLightPreview_0_null,NEXUS_5,1,en].png} (100%) 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_DefaultGroup_PreferenceViewDarkPreview_,NEXUS_5,1,en].png create mode 100644 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,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewLightPreview_0_null,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ClickableLinkTextDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ClickableLinkTextLightPreview_0_null,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledCheckboxDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledCheckboxDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledCheckboxLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledCheckboxLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ProgressDialogDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ProgressDialogDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ProgressDialogLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ProgressDialogLightPreview_0_null,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ButtonsDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ButtonsDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ButtonsLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ButtonsLightPreview_0_null,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_CheckboxesDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_CheckboxesDarkPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_CheckboxesLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_CheckboxesLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_DividerDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_DividerDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_DividerLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_DividerLightPreview_0_null,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_FloatingActionButtonDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_FloatingActionButtonLightPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_IconButtonDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_IconButtonLightPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_IconImageVectorDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_IconImageVectorLightPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_MediumTopAppBarDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_MediumTopAppBarLightPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ModalBottomSheetLayoutDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ModalBottomSheetLayoutLightPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsLightPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SlidersDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SlidersDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SlidersLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SlidersLightPreview_0_null,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SurfaceDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SurfaceLightPreview_0_null,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextLightPreview_0_null,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TopAppBarDarkPreview_0_null,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TopAppBarLightPreview_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesDarkPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesDarkPreview_0_null,NEXUS_5,1,en].png} (100%) rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesLightPreview_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesLightPreview_0_null,NEXUS_5,1,en].png} (100%) delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewDark_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewDark_0_null,NEXUS_5,1,en].png rename tests/uitests/src/test/snapshots/images/{io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewLight_,NEXUS_5,1,en].png => io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewLight_0_null,NEXUS_5,1,en].png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview_0_null_1,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview_0_null_1,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_0_null_1,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_0_null_0,NEXUS_5,1,en].png create mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_0_null_1,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.tests.uitests_null_DefaultGroup_ShowkaseButtonDarkPreview_null,NEXUS_5,1,en].png delete mode 100644 tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.tests.uitests_null_DefaultGroup_ShowkaseButtonLightPreview_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..3d9616d417 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4842e6ffb2cca53e163a1a91f7d536ff65b832a2cadd8a76dff73aab69d3b695 +size 26047 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_1,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_1,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1b061adbea --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d90fc0189e3acdcadbf8bf5f346dfa72d7023888a37f1cd4dd2a11edfed20ca +size 27833 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..5ff3ba484d --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11b2bffc585116f73f393908635c086eabf5a7bf3197f18c9110128e79ede540 +size 30989 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_4,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b8fd07a2b9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewDarkPreview_0_null_4,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c434e7bb1316fdd1668c9d41675ff7fe1acc62dfdc6c64e96e485155a51befc4 +size 27698 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fd2e6a1767 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7dbf6d3203fb9ee8c9d4d16cd98fea617ebf3ee1adb746e868da9cf589ed902 +size 25342 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_1,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_1,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c08e13a733 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18cde5fc76af83edc321223a51385629d845899efcb645c378c512b70a9976eb +size 27193 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e8775f5acf --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18a7585bcfd2bb6424b88e295ec2a3f6f84c205fa1631f13e01eecb91be4b60a +size 30085 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_4,NEXUS_5,1,en].png new file mode 100644 index 0000000000..3ad3babb7b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.changeserver_null_DefaultGroup_ChangeServerViewLightPreview_0_null_4,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:555b8b55dc2873ab2963ae65ac13e11913794d2e344ec01d53eebe48cbfbcb39 +size 27048 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 640514fca1..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7393dde7da886bec54405dc602e6584eca8d8617f3f28d9b00e708b0381f3c2b -size 25315 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c07572b29f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1e6b10468982283001c25a8d8a36e7b4b2558028dfc52b1b8574f50394f917d +size 25016 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.login.root_null_DefaultGroup_LoginRootScreenLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewDarkPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.logout_null_DefaultGroup_LogoutPreferenceViewLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__0,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_1,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__1,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_1,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_2,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview__2,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentDarkPreview_0_null_2,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__0,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_1,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__1,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_1,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_2,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview__2,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLightPreview_0_null_2,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 78003c0923..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a904cb92b66b66730f5ac1a81b46710668d440e702f5b51320ecf5a29823e47 -size 4471 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 78003c0923..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a904cb92b66b66730f5ac1a81b46710668d440e702f5b51320ecf5a29823e47 -size 4471 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 01574137c8..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce15df8f50bf352fa93f5682a23b255ba143c0665d29bc8b7d7ecd0f588011c9 -size 14736 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 72f7f8431a..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentSuccessLightPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:37edc587d96587aab57013d09def27c807d247d78fa90a69cdcb8d7d9a0344ec -size 13676 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.textcomposer_null_DefaultGroup_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.textcomposer_null_DefaultGroup_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..5f4a3dca5b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.textcomposer_null_DefaultGroup_MessageComposerViewDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:834da45ed9a3107006daaef96a0cf95c814c845fd4651bd6c18b6f88638d579d +size 9649 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.textcomposer_null_DefaultGroup_MessageComposerViewLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.textcomposer_null_DefaultGroup_MessageComposerViewLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..095c4a17fb --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.textcomposer_null_DefaultGroup_MessageComposerViewLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb147a7f07bc20bf7ba9052d39121afdd6cd6b0326b893941b8df75c76754206 +size 8869 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components.html_null_DefaultGroup_HtmlDocumentDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components.html_null_DefaultGroup_HtmlDocumentDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fc6527aeed --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components.html_null_DefaultGroup_HtmlDocumentDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69d4f3e08d8b0a65f611ad2ffdccb2e7513af833e69e537e7e284aaafafd9886 +size 5632 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components.html_null_DefaultGroup_HtmlDocumentLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components.html_null_DefaultGroup_HtmlDocumentLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..77c55279e1 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components.html_null_DefaultGroup_HtmlDocumentLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d8ae0565ccd61c915b76f8f17441fae86c36d7b2c18091285a79c8f29ff2435 +size 5500 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..29b2f0b43f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38ca7901ccdb5a9f0f7f081dbd3e3e9fce30b90f03df692513021019a8cfb52e +size 5708 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b1fe090151 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1abe1890f2646b64bf004f16483bc33008b81be8677564368b9e2f226fbb134f +size 6010 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_10,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_10,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1aee043b45 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_10,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:616292d2609bbfa03b1f2969fb75bf5e5bf18783b88d5e5e8ffab4dd998988e7 +size 5583 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_11,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_11,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6957fe2940 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_11,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0de328a5e224b6cf640941bd30de0b7ba19f50cf2a351e94f85944b6d96b4ad +size 5797 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_12,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_12,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c22130b6a5 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_12,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc23e363f94ab335a325c601d2d248cf280f79b705fa34d53567c442d90cb895 +size 5661 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_13,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_13,NEXUS_5,1,en].png new file mode 100644 index 0000000000..286bab8719 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_13,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998ac94f357159347f7d1d5f29269a28b0dba12f0c7df474eddccb22b03f8c46 +size 5845 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_14,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_14,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c22130b6a5 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_14,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc23e363f94ab335a325c601d2d248cf280f79b705fa34d53567c442d90cb895 +size 5661 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_15,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_15,NEXUS_5,1,en].png new file mode 100644 index 0000000000..286bab8719 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_15,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998ac94f357159347f7d1d5f29269a28b0dba12f0c7df474eddccb22b03f8c46 +size 5845 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_16,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_16,NEXUS_5,1,en].png new file mode 100644 index 0000000000..2f1100993c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_16,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6edb3f9da5314449eab7d0a08d9972a4783dab0283e10291b84f6afa215d1c22 +size 5709 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_17,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_17,NEXUS_5,1,en].png new file mode 100644 index 0000000000..eccf789290 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_17,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24da4ecdee021fa631e5c0d13f02d4ad2675ceb3893da331d00bf197e725da21 +size 6016 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_18,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_18,NEXUS_5,1,en].png new file mode 100644 index 0000000000..2f1100993c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_18,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6edb3f9da5314449eab7d0a08d9972a4783dab0283e10291b84f6afa215d1c22 +size 5709 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_19,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_19,NEXUS_5,1,en].png new file mode 100644 index 0000000000..eccf789290 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_19,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24da4ecdee021fa631e5c0d13f02d4ad2675ceb3893da331d00bf197e725da21 +size 6016 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..29b2f0b43f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38ca7901ccdb5a9f0f7f081dbd3e3e9fce30b90f03df692513021019a8cfb52e +size 5708 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_20,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_20,NEXUS_5,1,en].png new file mode 100644 index 0000000000..529592b4b6 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_20,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:914a5874d9fb8a82f74daf728c19710701410eb0fe63b21a39d7657068e5298b +size 5786 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_21,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_21,NEXUS_5,1,en].png new file mode 100644 index 0000000000..574e9344ae --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_21,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efeafd5bafa07cdadba2eaee95d0532b20a644ae0a3065e097221b4af9c735cc +size 6039 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_22,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_22,NEXUS_5,1,en].png new file mode 100644 index 0000000000..529592b4b6 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_22,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:914a5874d9fb8a82f74daf728c19710701410eb0fe63b21a39d7657068e5298b +size 5786 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_23,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_23,NEXUS_5,1,en].png new file mode 100644 index 0000000000..574e9344ae --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_23,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efeafd5bafa07cdadba2eaee95d0532b20a644ae0a3065e097221b4af9c735cc +size 6039 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b1fe090151 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1abe1890f2646b64bf004f16483bc33008b81be8677564368b9e2f226fbb134f +size 6010 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_4,NEXUS_5,1,en].png new file mode 100644 index 0000000000..9378633e2b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_4,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:646080d3cb7d8082c2a98b33768977cc0a7b8bfd2a295167a8b4888011e76672 +size 5792 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_5,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_5,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c585cd2a2c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_5,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7bc1800f68ee9f9845a5412bea10a6c1d7ff9ff209557dd8da4c91e6bf137e5 +size 6048 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_6,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_6,NEXUS_5,1,en].png new file mode 100644 index 0000000000..9378633e2b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_6,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:646080d3cb7d8082c2a98b33768977cc0a7b8bfd2a295167a8b4888011e76672 +size 5792 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_7,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_7,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c585cd2a2c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_7,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7bc1800f68ee9f9845a5412bea10a6c1d7ff9ff209557dd8da4c91e6bf137e5 +size 6048 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_8,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_8,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1aee043b45 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_8,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:616292d2609bbfa03b1f2969fb75bf5e5bf18783b88d5e5e8ffab4dd998988e7 +size 5583 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_9,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_9,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6957fe2940 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleDarkPreview_0_null_9,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0de328a5e224b6cf640941bd30de0b7ba19f50cf2a351e94f85944b6d96b4ad +size 5797 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..33e9fff6b1 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ace5a91e960c6570647e2b8ad2de428ba474e48531a2f74ab267d07668d7a9e8 +size 4928 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..5c993c220e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aec5d74e6f4d316c1ea124dc50e2abbfd22d6ee94b6d82519b3f9cab7a191dfa +size 5348 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_10,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_10,NEXUS_5,1,en].png new file mode 100644 index 0000000000..12176c5b98 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_10,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d774fca7f28623d7e464c233e5e2282b5c7d608d7aa6084b2350a4f71765bc5a +size 4809 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_11,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_11,NEXUS_5,1,en].png new file mode 100644 index 0000000000..34a8c795e7 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_11,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32c81961535a22ce1fccc15865cd76bc9844168552a2205f7f7342398866b622 +size 5109 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_12,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_12,NEXUS_5,1,en].png new file mode 100644 index 0000000000..4b3f1bfb0c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_12,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd53dc603b4689eabe41e5d90ea0d8a70b769d60082ee57eee556ef9a7ea24ec +size 4984 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_13,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_13,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e4a872faf4 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_13,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43e08e7c243192571121595483ddc2dd44b56892afff5ae949ac224cad13e73f +size 5165 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_14,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_14,NEXUS_5,1,en].png new file mode 100644 index 0000000000..4b3f1bfb0c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_14,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd53dc603b4689eabe41e5d90ea0d8a70b769d60082ee57eee556ef9a7ea24ec +size 4984 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_15,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_15,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e4a872faf4 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_15,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43e08e7c243192571121595483ddc2dd44b56892afff5ae949ac224cad13e73f +size 5165 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_16,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_16,NEXUS_5,1,en].png new file mode 100644 index 0000000000..19cc971e97 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_16,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c61846e0037aa7a4d6f146fa4f2b441654570db082b3f506bb6f49aa01f3999 +size 4944 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_17,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_17,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b4bd02006b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_17,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:137bfee9d776c8abff1a2428e3edc1c28cc7ca21d9849640e2aad2d945d7f7f2 +size 5361 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_18,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_18,NEXUS_5,1,en].png new file mode 100644 index 0000000000..19cc971e97 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_18,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c61846e0037aa7a4d6f146fa4f2b441654570db082b3f506bb6f49aa01f3999 +size 4944 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_19,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_19,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b4bd02006b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_19,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:137bfee9d776c8abff1a2428e3edc1c28cc7ca21d9849640e2aad2d945d7f7f2 +size 5361 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..33e9fff6b1 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ace5a91e960c6570647e2b8ad2de428ba474e48531a2f74ab267d07668d7a9e8 +size 4928 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_20,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_20,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1e9f02cdef --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_20,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfaa4d6032641b332b111b20c81ec4bca917391cf122a06718fca7da849a7c94 +size 5124 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_21,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_21,NEXUS_5,1,en].png new file mode 100644 index 0000000000..7b2413937c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_21,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac3eb3ebe9f2f30224389586f9b5901106b73cee9f5b4cdeb0f76b313ba0cd31 +size 5384 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_22,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_22,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1e9f02cdef --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_22,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfaa4d6032641b332b111b20c81ec4bca917391cf122a06718fca7da849a7c94 +size 5124 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_23,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_23,NEXUS_5,1,en].png new file mode 100644 index 0000000000..7b2413937c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_23,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac3eb3ebe9f2f30224389586f9b5901106b73cee9f5b4cdeb0f76b313ba0cd31 +size 5384 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..5c993c220e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aec5d74e6f4d316c1ea124dc50e2abbfd22d6ee94b6d82519b3f9cab7a191dfa +size 5348 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_4,NEXUS_5,1,en].png new file mode 100644 index 0000000000..cb2f53102c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_4,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e0eaf65f627b7be068311b0c8f52cfbe847571684a0c63dda3e7c0621eac42c +size 5133 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_5,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_5,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1324860ed0 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_5,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8359444a65d74682106930a7bbc6fb171acb95446cc5ff67eefa0dadc51e5932 +size 5397 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_6,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_6,NEXUS_5,1,en].png new file mode 100644 index 0000000000..cb2f53102c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_6,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e0eaf65f627b7be068311b0c8f52cfbe847571684a0c63dda3e7c0621eac42c +size 5133 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_7,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_7,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1324860ed0 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_7,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8359444a65d74682106930a7bbc6fb171acb95446cc5ff67eefa0dadc51e5932 +size 5397 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_8,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_8,NEXUS_5,1,en].png new file mode 100644 index 0000000000..12176c5b98 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_8,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d774fca7f28623d7e464c233e5e2282b5c7d608d7aa6084b2350a4f71765bc5a +size 4809 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_9,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_9,NEXUS_5,1,en].png new file mode 100644 index 0000000000..34a8c795e7 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessageEventBubbleLightPreview_0_null_9,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32c81961535a22ce1fccc15865cd76bc9844168552a2205f7f7342398866b622 +size 5109 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..4343eb15c0 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c41a51fdf00769ecb33fa4c4ce00f729974348caefb0e1963b4f188ada6fe7 +size 6556 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6abafd2b2f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c5388ab9973ecfb88ef83158ffd526fc59fce73c5350a3d8e3b432bf2f0dd1 +size 7272 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..4343eb15c0 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c41a51fdf00769ecb33fa4c4ce00f729974348caefb0e1963b4f188ada6fe7 +size 6556 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6abafd2b2f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonDarkPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c5388ab9973ecfb88ef83158ffd526fc59fce73c5350a3d8e3b432bf2f0dd1 +size 7272 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..306caf4537 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36d35e124fec2d783d8b209f482631c5747ee91f7f6fae281dd8628f2c08fa6e +size 6360 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e488e82621 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24eb4cb4b4f523167ef637ccb9c82da4eaabb54f5a07fe10e6b969d883a06d17 +size 6985 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..306caf4537 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36d35e124fec2d783d8b209f482631c5747ee91f7f6fae281dd8628f2c08fa6e +size 6360 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e488e82621 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MessagesReactionButtonLightPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24eb4cb4b4f523167ef637ccb9c82da4eaabb54f5a07fe10e6b969d883a06d17 +size 6985 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemEncryptedViewDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemEncryptedViewDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..4b905abe99 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemEncryptedViewDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80a83189267c837b6c178ff3086d4bdcee809d3a88b6eb08e99c7a8b0261b822 +size 8326 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemEncryptedViewLightPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemEncryptedViewLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..07f613fa80 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemEncryptedViewLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a56b35783886433d788f2ce0c8c39e507c77272ecaeb3648e15f739942ed229 +size 7848 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..bc79a69261 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7546994a2e6c1b79cf58e71c061805c0385904eb244f39f6dd7d38bb23237380 +size 264001 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e1b5b34ab5 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d82e862a35c6b7ab602cc0d42e658b30915d391d15e8d6b17c7233e161c87fc7 +size 262144 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..57b920b116 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewDarkPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cbabaea8df5961f1a59ee0517da0133d85a71cc1303d83b243166918c36890f +size 335842 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..0f5de9a5cc --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3919408521a387dae59941c1579fa5c5010b02262b3fcc1cde4ce7ad1d27b25 +size 262071 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..90dd3434b4 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae843ae142724e84ab66262247091a850f5e51684b8c9d3bb234a4c04ab3edd9 +size 262173 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..de08b33e33 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemImageViewLightPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a22b82aa32dd0a246c96a50a0acf68270d0b2b19e78b79c6f817dba510ab81db +size 335888 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemInformativeViewDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemInformativeViewDarkPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemInformativeViewLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemInformativeViewLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemReactionsViewDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemReactionsViewDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fe0907412e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemReactionsViewDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeb1d88fdc2c797bd3539ec3e2337dc8978b9ab749c7259b03966ef3da5aac33 +size 12493 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemReactionsViewLightPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemReactionsViewLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..29a38874f7 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemReactionsViewLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1d7b0a2bf1ef2963ef4d3c4cc7c66f514d99570df9fbef97c9b868ecc0b790a +size 11886 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemRedactedViewDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemRedactedViewDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e83331d73c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemRedactedViewDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76dc061b4702c0699a66f21283bc888b7d2d78d0afd7c2783898b83ed1efc28d +size 10610 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemRedactedViewLightPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemRedactedViewLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..128a22af1c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemRedactedViewLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd0a90cecd6cb93873c3bc670affef6b076209b684275bf1c1e6ab7191671279 +size 9870 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..8bdee6e5de --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e71fcdba69104b2d6fd38f3fac57be9ee814e89d5eefea970121195e0100ac07 +size 6038 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..8bdee6e5de --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e71fcdba69104b2d6fd38f3fac57be9ee814e89d5eefea970121195e0100ac07 +size 6038 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..39eded8b16 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23b3887a959548539a24af273c5b5d0adc5f8a462d968c1c42735d29186c9144 +size 6354 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..39eded8b16 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23b3887a959548539a24af273c5b5d0adc5f8a462d968c1c42735d29186c9144 +size 6354 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_4,NEXUS_5,1,en].png new file mode 100644 index 0000000000..776b948b28 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_4,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd317f2b833d0a6a30c2439df978e9f5dac47489544e3c450949c6f277b998c3 +size 5636 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_5,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_5,NEXUS_5,1,en].png new file mode 100644 index 0000000000..776b948b28 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewDarkPreview_0_null_5,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd317f2b833d0a6a30c2439df978e9f5dac47489544e3c450949c6f277b998c3 +size 5636 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..d669bfa08f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbc833eaedfe356238c96ef9b64b5eb4cafc742a7bbc61fdf5669a338343eeae +size 5810 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..d669bfa08f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbc833eaedfe356238c96ef9b64b5eb4cafc742a7bbc61fdf5669a338343eeae +size 5810 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..7b3ceaf989 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22619ddf9fe74cbe2dc8ef35c3d836976ce9de0d381f1b417c04c5daa8794a98 +size 6119 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..7b3ceaf989 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22619ddf9fe74cbe2dc8ef35c3d836976ce9de0d381f1b417c04c5daa8794a98 +size 6119 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_4,NEXUS_5,1,en].png new file mode 100644 index 0000000000..36a08666e2 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_4,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6e9edc116b41f826850f80b4c317b6f66dc83891af29a1fe5b4753eea5147f2 +size 5462 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_5,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_5,NEXUS_5,1,en].png new file mode 100644 index 0000000000..36a08666e2 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemTextViewLightPreview_0_null_5,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6e9edc116b41f826850f80b4c317b6f66dc83891af29a1fe5b4753eea5147f2 +size 5462 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemUnknownViewDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemUnknownViewDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..f70deba6d1 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemUnknownViewDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2a06418de0da9b4f0853cf746d0c1fe168d9a2fc0d639af166f4eeda3dfb1b4 +size 9661 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemUnknownViewLightPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemUnknownViewLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..7d638c4ec9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline.components_null_DefaultGroup_TimelineItemUnknownViewLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f5184619b88e0f8d631265a800db0265af9be2913d974c65f68ebd415ab9b4f +size 9122 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__0,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_1,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__1,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_1,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_2,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__2,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_2,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_3,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__3,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_3,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_4,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__4,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_4,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__5,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_5,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview__5,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenDarkPreview_0_null_5,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__0,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_1,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__1,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_1,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_2,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__2,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_2,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_3,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__3,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_3,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_4,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__4,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_4,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__5,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_5,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview__5,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.timeline_null_DefaultGroup_LoginRootScreenLightPreview_0_null_5,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewDarkPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages_null_DefaultGroup_MessagesViewLightPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.onboarding_null_DefaultGroup_OnBoardingScreenDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.onboarding_null_DefaultGroup_OnBoardingScreenDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..05cf27005a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.onboarding_null_DefaultGroup_OnBoardingScreenDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5db3233ab6dee02ca2047fe48a3ec8b07cace061a43803bf0c203b343c087dd +size 55962 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.onboarding_null_DefaultGroup_OnBoardingScreenLightPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.onboarding_null_DefaultGroup_OnBoardingScreenLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b06bb67766 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.onboarding_null_DefaultGroup_OnBoardingScreenLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:485acb5a3322924031c56c52f6d384ca6c4775002c66fdc142120b2321355a8e +size 54140 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 80c9003f06..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:55f4d1755b6692051b0fcdf7014cf567cd924dbebed18d22999a6472618a44c2 -size 26524 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..d65fc885a4 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:147e0f3b22941f0d82cb9e6a1ab22cd64e5af8e387dc1bbfec02c86b6b780880 +size 42434 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..8ff03e4fdc --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a62e9ffec23702380bfac5f2021dca44266fb0efabca8a8cf8d50d81877742e +size 41954 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 4ee53a9091..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:30a23b12d9f25e216e15df05ea4be2ca5d10d16b1c4be25fee876a255c6a19b3 -size 26287 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6afdc7198b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6dec8fbde025f743a9bee6fc9e8f2ad5634e3d2092f5fadef65bb368bf3cde8 +size 41028 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..881e6b6d2f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.root_null_DefaultGroup_PreferencesRootViewLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8dc7f339d100fc486505c67e3abe0d1dbdc291ab2316ec3bf91a7a05faba7cc +size 40783 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..0106da21a9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99d96debd9c40510c260c0fe7f27c25c27bb3b895dbe593257a31ef3d66e60f3 +size 21676 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b2a4745130 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:793daea5218800203384fd7d92b286567d83da1548d932c1b7e052d9cc0726d1 +size 20886 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_2,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentLoadingLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesDarkPreview_0_null_2,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..d560f43c8a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6a05bea6e1b61fb1c361d66d38b027d78f9915e84448233c3b4f5e83346fab0 +size 19638 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..a2a00f5747 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6db50433a55eb86b54d3d38c812a341989ed4a50c1bcd292ab879a8d45ee47b7 +size 19279 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_2,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.messages.actionlist_null_DefaultGroup_SheetContentNoneLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.preferences.user_null_DefaultGroup_UserPreferencesLightPreview_0_null_2,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 547f890601..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3a73f66fa8ddb5c69580e59bf86364f430cf89c0710bcba98b8d8ccf605d16c2 -size 50660 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..cf1c5df4b1 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a36a46f9851b7a65526680ac78fe04b4baf7b9da405313e1062b9b89416f9bc7 +size 50556 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..f4d0ba1451 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b737735aee48432067119255cc174a41b860e078f42535f29b4579e5dc3648c6 +size 172714 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..cde5999025 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:061aed94ce42146bcfa13f7802b4f8cc7ba540dd53eae98135d0220af4cee3a7 +size 47635 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewDarkPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6f88f98d1d --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29c2168a4d0fe255b6719e1c0394a883dd3478b6a942a9a30001dd251ddbbc97 +size 170701 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fdcd9ddfd4 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2347cb366fc56c17b8edd44b3218a8ad82242f00897d8f1fe7afbab34ef8a219 +size 46773 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.bugreport_null_DefaultGroup_BugReportViewLightPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionContentDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionContentDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 374ed70e4e..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionContentDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9ab15f317d30dbbd2dd1efae4e364e05e0523790b506d970465879f71e41dec -size 28995 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionViewDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionViewDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..5467927487 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionViewDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2d8d26506403a2a7dcdfd91d400aa9673267503cb5c0466ae57b4d4d739069d +size 28881 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionContentLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionViewLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionContentLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.crash.ui_null_DefaultGroup_CrashDetectionViewLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 396101cd5f..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:643bb6ca2dba3bd686d633beb103cd92a70547486c397d6472b1488d57b027c9 -size 33156 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c72a40954c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1a784c867ef57a020e40679be356015e849315d0ecb7f49e319d77ec03eb3d0 +size 32975 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.detection_null_DefaultGroup_RageshakeDialogContentLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 1d080b2c8b..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c385c5b124217368b054e85e8313a0dac30274ea6fc08f9a71f60e80f547df0 -size 22589 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..23c9f11bde --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f7a460249fab3fe728ecfce08a38f90d72141994ccdc4d417c240a534660165 +size 22473 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_0_null_1,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__1,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview_0_null_1,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png deleted file mode 100644 index 1d080b2c8b..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewDarkPreview__0,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c385c5b124217368b054e85e8313a0dac30274ea6fc08f9a71f60e80f547df0 -size 22589 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_0_null_1,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__1,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview_0_null_1,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png deleted file mode 100644 index 0241c610bc..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewLightPreview__0,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07c3417b4b61c9c269e8701b0f48ee68f429882f9da53b2a6440c181b62083ec -size 21942 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewNotSupportedDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewNotSupportedDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index c408edcdc4..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewNotSupportedDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eac040a95a0e551d61fb0a14c26190304ac97b8a575a0911812f3fdade88f0e6 -size 21014 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewNotSupportedLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewNotSupportedLightPreview_,NEXUS_5,1,en].png deleted file mode 100644 index b6139bebf3..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.rageshake.preferences_null_DefaultGroup_RageshakePreferencesViewNotSupportedLightPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b5eacc8332a8ec38df9a710d60b9ec87ecab771c764f0ae5f4e7e7dc6fa7cd7 -size 19974 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarDarkPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_DefaultRoomListTopBarLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6190480e4d --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f542733cd1468471f72f2eae50783337381179209eb7329d1b432f5bff17f64 +size 13844 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..e3e6b43f30 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c333c9a852e3b88fd4cc45c6e527285ce79a337829048d7a4f73263eeec254 +size 11240 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6182b9a7af --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43414c570e17c9b63cc131c4486eb8e2322c9adecf76ee908a12cc5e934e0d04 +size 14213 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..45e621c035 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6782a0951b56557c4d698ba0cbedddd6a097f4002928675d30c949f5c79894e9 +size 15137 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_4,NEXUS_5,1,en].png new file mode 100644 index 0000000000..353502ebde --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_4,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0294953b13ff757eded6fd8adcdf0446a60ed2361bef4d3bd4ff733666f3d50b +size 15508 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_5,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_5,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6e60deed1e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowDarkPreview_0_null_5,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29da6ede51956fd50a04e807f9ab5ed169819b77c4d3467d1c3695fc3efcfca5 +size 6165 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..3ce7ae6104 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc4eb89bebf635313990953a9c145e2384e656fbe2eb0ef9e54b23aea6f67823 +size 12891 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fe1fce5231 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:550af6149387ab5441dc7c1b5736fe804962188bbe85c14a46a1371439606de2 +size 10546 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..ea75ac18e5 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7565a9e4edb5c43d692d52d9903b6384cf7cc8b1b76b1898d445e17fd1b25ec1 +size 13283 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_3,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_3,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b520b54921 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_3,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ba0a6e9a0397d92b805a2144355fe1aa7adcdedcbe5d1c9519cfb06b9a3c50e +size 14078 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_4,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_4,NEXUS_5,1,en].png new file mode 100644 index 0000000000..068da3decf --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_4,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:841b5ec33c7901d6b90889c79455ab57861be9fd80a85941a8f2716fec7a6c89 +size 14466 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_5,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_5,NEXUS_5,1,en].png new file mode 100644 index 0000000000..9edf707b38 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_RoomSummaryRowLightPreview_0_null_5,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b7466303e5a75c846e6dfe8f42b9a59ba488982188c91697f1697be4249f8e4 +size 5432 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarDarkPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist.components_null_DefaultGroup_SearchRoomListTopBarLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewDarkPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.features.roomlist_null_DefaultGroup_RoomListViewLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..237d334162 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0eca5dd40ffaea46fbd7ec0d89f5ec83aea51f20879ff3534eca302e818bcca9 +size 8203 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..0fe2eafa47 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarDarkPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:036a3446bf904726596d861eb9e1fde91b6707af012bdf8f19cc8b37efabd56e +size 7815 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_0,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_0,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..2d3a297409 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bbe600bdd8a4826ff8d05a52d10d4fd8303e65dd230a26f60e8dbc7989c75d7 +size 7805 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_2,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_2,NEXUS_5,1,en].png new file mode 100644 index 0000000000..c03a384bc7 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.avatar_null_DefaultGroup_AvatarLightPreview_0_null_2,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01a9c4b172fd67f9bbe8a3f145ae1b4278ab0075cd877493cc1593e6f87e274f +size 7458 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 886a306c07..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8988d36c35a1b134e878a7276d18cf2cb7779ff6ceb4a7436cfa9aa2ad7bed87 -size 18722 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..ea6dcf330f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f546f57cc427cd091953b6352ed13cfcc0d2734021ed42cc931ba8cf815f9e3 +size 18492 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ConfirmationDialogLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 4fa59da9a0..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eaf83db86c387f95244f106ee642a0524c24030f61d62f3cba3566fb37c00dcf -size 12280 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogDarkPreview_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..2f24f04f1d --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:609bf639a72a298d3d3d1e8ab6e866a49b2b83a455e8a0c9401b5cb7266e5719 +size 12251 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.dialogs_null_DefaultGroup_ErrorDialogLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..003c4413db --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dbc7763485e5175d1794633c54aeb1fd4e6406449f29a046e27483283b4d7a0 +size 5240 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..fc3fc51b9a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences.components_null_DefaultGroup_PreferenceIconLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3ab47c600480f7a6cf387fc19a5d3699a2ca40cfb2cec944dcc450b0a4b3a93 +size 5022 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_PreferenceCategoryDarkPreview_,NEXUS_5,1,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_PreferenceCategoryDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index a8a3738f0e..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceCategoryDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5f67cd11f58cba1e7de19aab0c35ca0638b4c0f0dee373d4fc7155e903285e62 -size 15843 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_PreferenceCategoryDarkPreview_0_null,NEXUS_5,1,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_PreferenceCategoryDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..121c5ae8bc --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceCategoryDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dffa8cd55a94df985ad310835d803ecf2852232c9f8a8f082957fb26a6b80337 +size 15765 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_PreferenceCategoryLightPreview_,NEXUS_5,1,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_PreferenceCategoryLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceCategoryLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceCategoryLightPreview_0_null,NEXUS_5,1,en].png 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_PreferenceSlideDarkPreview_,NEXUS_5,1,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_PreferenceSlideDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSlideDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSlideDarkPreview_0_null,NEXUS_5,1,en].png 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_PreferenceSlideLightPreview_,NEXUS_5,1,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_PreferenceSlideLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSlideLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSlideLightPreview_0_null,NEXUS_5,1,en].png 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_PreferenceSwitchDarkPreview_,NEXUS_5,1,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_PreferenceSwitchDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index a160900ada..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSwitchDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb61f940a3a773ed05e515807797b88eb4a4f38ffc6f99a5c5816bd5d403fbdd -size 7546 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_PreferenceSwitchDarkPreview_0_null,NEXUS_5,1,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_PreferenceSwitchDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b90e8a21b2 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSwitchDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91a6a984f67e5d59d431fb7fc30ec506c7f77b171efdf445b60ee33acfee5108 +size 7420 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_PreferenceSwitchLightPreview_,NEXUS_5,1,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_PreferenceSwitchLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSwitchLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceSwitchLightPreview_0_null,NEXUS_5,1,en].png 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_PreferenceTextDarkPreview_,NEXUS_5,1,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_PreferenceTextDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceTextDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceTextDarkPreview_0_null,NEXUS_5,1,en].png 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_PreferenceTextLightPreview_,NEXUS_5,1,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_PreferenceTextLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceTextLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceTextLightPreview_0_null,NEXUS_5,1,en].png 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_,NEXUS_5,1,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_,NEXUS_5,1,en].png deleted file mode 100644 index 452b95b971..0000000000 --- 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_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e258d66c313c6fd1e757978c408600328220aa4bcd374b19d202d2a45b1db3bb -size 18677 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,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,en].png new file mode 100644 index 0000000000..70163605b1 --- /dev/null +++ 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,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f50535fe1dbf60187af85493ba6e8154ece90007cc1c3fa46e10f41aeb6abe44 +size 18598 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_,NEXUS_5,1,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,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components.preferences_null_DefaultGroup_PreferenceViewLightPreview_,NEXUS_5,1,en].png rename to 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,en].png 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_ClickableLinkTextDarkPreview_0_null,NEXUS_5,1,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_ClickableLinkTextDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..53f910f511 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ClickableLinkTextDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:081faa24a849fd05f196c1502398c090169451a610fbb36aa40df301637499c4 +size 5567 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_ClickableLinkTextLightPreview_0_null,NEXUS_5,1,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_ClickableLinkTextLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6c7aedc6b8 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ClickableLinkTextLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0882802df1608c0a98efeda91b73f390837ccaa90901ead3ad67e6d29c31200e +size 5425 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_LabelledCheckboxDarkPreview_,NEXUS_5,1,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_LabelledCheckboxDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index fb4edaf477..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledCheckboxDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bcbf114b16949dc147ed8437ad80470635c44716e9938b441d8ec2bd453bef66 -size 7801 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_LabelledCheckboxDarkPreview_0_null,NEXUS_5,1,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_LabelledCheckboxDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..aac541fe78 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledCheckboxDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6a9f1533f24a552c6ce2afde178fa7139b51ba823f93f31b182b5ec544cf567 +size 7671 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_LabelledCheckboxLightPreview_,NEXUS_5,1,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_LabelledCheckboxLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledCheckboxLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_LabelledCheckboxLightPreview_0_null,NEXUS_5,1,en].png 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_ProgressDialogDarkPreview_,NEXUS_5,1,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_ProgressDialogDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ProgressDialogDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ProgressDialogDarkPreview_0_null,NEXUS_5,1,en].png 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_ProgressDialogLightPreview_,NEXUS_5,1,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_ProgressDialogLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ProgressDialogLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.components_null_DefaultGroup_ProgressDialogLightPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_ButtonsDarkPreview_,NEXUS_5,1,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_DefaultGroup_ButtonsDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 0eadae1fce..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ButtonsDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dce173f40598eb7ee75febe9135c6563ef7b35e6861dcf6f2d09c0af5febebb8 -size 13450 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_DefaultGroup_ButtonsDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_ButtonsDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..28f3f687d2 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ButtonsDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e27ba3a54aed7ba7ac4340e0a6373f7dd0e8948713a62d5cb486ff1196265a2 +size 12979 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_DefaultGroup_ButtonsLightPreview_,NEXUS_5,1,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_DefaultGroup_ButtonsLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ButtonsLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ButtonsLightPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_CheckboxesDarkPreview_,NEXUS_5,1,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_DefaultGroup_CheckboxesDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 4ee8b68466..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_CheckboxesDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72b4f5c01f5236b7141b222cf8414f303ac60b74c386d2c71fa6348b2ab1173b -size 7506 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_DefaultGroup_CheckboxesDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_CheckboxesDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..f8de7ca9ca --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_CheckboxesDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1202dd8964ac8f787d5318ac0f5bd3c575a31141826f7b93831eefa8e89fbfdb +size 7474 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_DefaultGroup_CheckboxesLightPreview_,NEXUS_5,1,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_DefaultGroup_CheckboxesLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_CheckboxesLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_CheckboxesLightPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_DividerDarkPreview_,NEXUS_5,1,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_DefaultGroup_DividerDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_DividerDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_DividerDarkPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_DividerLightPreview_,NEXUS_5,1,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_DefaultGroup_DividerLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_DividerLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_DividerLightPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_FloatingActionButtonDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_FloatingActionButtonDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6b3d3bef51 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_FloatingActionButtonDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00037093677633315f6bf80f66c76c94e91450258f6d735346db7125bce9c2d2 +size 7136 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_DefaultGroup_FloatingActionButtonLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_FloatingActionButtonLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..cb2a7de319 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_FloatingActionButtonLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ceb7b7e626b1c5d19611ba111e7c6a9dec672cc4eb8ae48ca39acb5957c875cb +size 7498 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_DefaultGroup_IconButtonDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_IconButtonDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..1748352ba2 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_IconButtonDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89b7d843a85fb6240fb48121f8ac40987a23c6dfbef4f9f5a8b7d62e5088b8ff +size 4687 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_DefaultGroup_IconButtonLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_IconButtonLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..8ba6ea964e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_IconButtonLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:466f7376044003f344d5d702f056d7d3b3bd36296565fd838d938a885b42e8cb +size 4945 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_DefaultGroup_IconImageVectorDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_IconImageVectorDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..4dbe7ef496 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_IconImageVectorDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:706fb0e9faa1464c84b5750dbae95e85bdc385ee07b56b4f4ecffc0c39eb6036 +size 4638 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_DefaultGroup_IconImageVectorLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_IconImageVectorLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..dda8fe575c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_IconImageVectorLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76c184a2bc6961a5537c272e77b9717ba6d1aaa217ff0e127c9ce5c24a782a70 +size 4998 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_DefaultGroup_MediumTopAppBarDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_MediumTopAppBarDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6f4432a5f0 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_MediumTopAppBarDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69a1f4dc5aa52dc21d48a385cde2eee4ba916d8303e2c7a9a6943a4cffee95d6 +size 6018 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_DefaultGroup_MediumTopAppBarLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_MediumTopAppBarLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..52cbb92df9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_MediumTopAppBarLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ceae9f246ae0d65e68b7ed4ddada97c4dd9c012c7d2390836156c64d8f8600f5 +size 5596 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_DefaultGroup_ModalBottomSheetLayoutDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_ModalBottomSheetLayoutDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..0de2036a8e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ModalBottomSheetLayoutDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7017984797081de08ec57e6bab7887c816f73b7a966d7b33e0217cc131704706 +size 5785 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_DefaultGroup_ModalBottomSheetLayoutLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_ModalBottomSheetLayoutLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..38b159ccdf --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_ModalBottomSheetLayoutLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:694fda9bd548990ef322fe3db691ccb7973c5d5efb8e78d6e50030109dc96359 +size 5947 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_DefaultGroup_OutlinedTextFieldsDarkPreview_,NEXUS_5,1,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_DefaultGroup_OutlinedTextFieldsDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsDarkPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_OutlinedTextFieldsLightPreview_,NEXUS_5,1,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_DefaultGroup_OutlinedTextFieldsLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsLightPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_SlidersDarkPreview_,NEXUS_5,1,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_DefaultGroup_SlidersDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SlidersDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SlidersDarkPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_SlidersLightPreview_,NEXUS_5,1,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_DefaultGroup_SlidersLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SlidersLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SlidersLightPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_SurfaceDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_SurfaceDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..0daf3c6373 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SurfaceDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e1e02d3906c530fddf688d1d4b0e0600bed761b7e6640a462a0e3194838c013 +size 4762 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_DefaultGroup_SurfaceLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_SurfaceLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..665c8811ac --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_SurfaceLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0d3bfcfd75cbd75fd9270ff1dc27090e5dbac79ca8db8a46d91a4c12bc966b +size 4457 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_DefaultGroup_TextDarkPreview_,NEXUS_5,1,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_DefaultGroup_TextDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index 9a2284a7ab..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5127c51e1eb76ceb0620073449a5dde0805f9ba3d0fae6368aaf15473e837c1f -size 104643 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_DefaultGroup_TextDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_TextDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..f38221163a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71aa2c3301d236244c5f3a884e137ab9488497d06bf9d8494666261333cabf38 +size 104162 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_DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..89aafe0d0b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7363a82f68682a66bef4f1742a240afc8da4735aceaecb51ee3472a9db2926a3 +size 5954 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_DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..aeacea07de --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c31f19f2c19bf94a71bda62792ae710e06e8cec4801c24fe11fbbb2543bcf19 +size 5923 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_DefaultGroup_TextLightPreview_,NEXUS_5,1,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_DefaultGroup_TextLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextLightPreview_0_null,NEXUS_5,1,en].png 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_DefaultGroup_TopAppBarDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_TopAppBarDarkPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..297648efd9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TopAppBarDarkPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3bf26fa999053bc83ef0ebed48a22a6e5d0f05c1886839541b277df55fea658 +size 5788 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_DefaultGroup_TopAppBarLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_TopAppBarLightPreview_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..98a319e153 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TopAppBarLightPreview_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcbb9ecc2b13da1374a5a4027dca231a5fe14d984402515ae8d072e9c2cfd95e +size 5561 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesDarkPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesDarkPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesDarkPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesLightPreview_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesLightPreview_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorAliasesLightPreview_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewDark_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewDark_,NEXUS_5,1,en].png deleted file mode 100644 index 62ad4ddd72..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewDark_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:425c923cf0e7993816c237d22a50c32962dc58e42a56bba788742f5b5ac2fdc6 -size 115420 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewDark_0_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewDark_0_null,NEXUS_5,1,en].png new file mode 100644 index 0000000000..5728d8bb3b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewDark_0_null,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b7eb0efa0bfa85f2bf32a00502338004fb306643638c90b35ee8eeab7bbdc59 +size 115378 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewLight_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewLight_0_null,NEXUS_5,1,en].png similarity index 100% rename from tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewLight_,NEXUS_5,1,en].png rename to tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme_null_DefaultGroup_ColorsSchemePreviewLight_0_null,NEXUS_5,1,en].png diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..0106da21a9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99d96debd9c40510c260c0fe7f27c25c27bb3b895dbe593257a31ef3d66e60f3 +size 21676 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..b2a4745130 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:793daea5218800203384fd7d92b286567d83da1548d932c1b7e052d9cc0726d1 +size 20886 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png deleted file mode 100644 index fdfb98b731..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__0,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:87b70d8d0be521d31b5cda13fbb28181737fc887ef7af32a92d5231aed1692aa -size 20962 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png deleted file mode 100644 index a9ad392da9..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderDarkPreview__1,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90da6bebf728f89f42cf51d0cdf438d74f96504dc0758c647a4f07a88ebbcac1 -size 20472 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..d560f43c8a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6a05bea6e1b61fb1c361d66d38b027d78f9915e84448233c3b4f5e83346fab0 +size 19638 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..a2a00f5747 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6db50433a55eb86b54d3d38c812a341989ed4a50c1bcd292ab879a8d45ee47b7 +size 19279 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png deleted file mode 100644 index 1f2d280399..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__0,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:048614dadeed1a648eb697233eb96bfef7983ed8104bbfaaf727e74a8969eaae -size 18969 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png deleted file mode 100644 index 4e2a499b2c..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserHeaderLightPreview__1,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e65175e7ac965fef3b69614be340f934b33e0ef12667c416b929ca3cabaca87 -size 18814 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png deleted file mode 100644 index a65d2c8b0f..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebc06c9322dfd7a0dcd95a67449f48c88784b7441891a36daf63a1f6619355fa -size 13744 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..df22cb329f --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8576a5a7c7a338ea3bff9eeb4fa79dde2beba46cb193189cd25b5005d98e075 +size 14419 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..9b9cb1aa4d --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95a8148d2cfbfa092462ebaf65eb5fbe544f09910ed9347e0b992c7f62451779 +size 13235 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png deleted file mode 100644 index a65d2c8b0f..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__0,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebc06c9322dfd7a0dcd95a67449f48c88784b7441891a36daf63a1f6619355fa -size 13744 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png deleted file mode 100644 index 89870ef639..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowDarkPreview__1,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0371ed4754c13fc99ff92414e02f92a05621320eb4c9b846cb576a69211ab7ae -size 12774 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png deleted file mode 100644 index fddef7bbba..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:33a5cbc319ae522a937ca19543dfce68e8971a0a1ff82ed3e7991d68eda82d5d -size 12666 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_0_null_0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_0_null_0,NEXUS_5,1,en].png new file mode 100644 index 0000000000..2fc9d82483 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_0_null_0,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b7a50247c6086a45d1c1a1ef3477998b0d4d62f860c8d8f0e80ebced647b7c9 +size 13313 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_0_null_1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_0_null_1,NEXUS_5,1,en].png new file mode 100644 index 0000000000..6012775d02 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview_0_null_1,NEXUS_5,1,en].png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a05b35635b7db4bb87173c30ef70ebc5f6031539c1ec18bc3da1c9fac5bfb8a +size 12674 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png deleted file mode 100644 index fddef7bbba..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__0,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:33a5cbc319ae522a937ca19543dfce68e8971a0a1ff82ed3e7991d68eda82d5d -size 12666 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png deleted file mode 100644 index 5aeef096f1..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.matrix.ui.components_null_DefaultGroup_MatrixUserRowLightPreview__1,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c48f78164e0b3b46bbf71a2d7722473897bf2a787293382831110858da14a51 -size 12140 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.tests.uitests_null_DefaultGroup_ShowkaseButtonDarkPreview_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.tests.uitests_null_DefaultGroup_ShowkaseButtonDarkPreview_null,NEXUS_5,1,en].png deleted file mode 100644 index d3e7ef562a..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.tests.uitests_null_DefaultGroup_ShowkaseButtonDarkPreview_null,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0eebdfaaf064be053b22b548fdf45fe218a341fa8718d204e8c2463e45a374bb -size 10649 diff --git a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.tests.uitests_null_DefaultGroup_ShowkaseButtonLightPreview_null,NEXUS_5,1,en].png b/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.tests.uitests_null_DefaultGroup_ShowkaseButtonLightPreview_null,NEXUS_5,1,en].png deleted file mode 100644 index 836e7c7486..0000000000 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.tests.uitests_null_DefaultGroup_ShowkaseButtonLightPreview_null,NEXUS_5,1,en].png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dfe01261ef45999f2ffa17069ae8488af38677362550a735b26d7dedee48c75a -size 9786 From 40399d5c377f6282276d3a745ee6c3fefbf31bc5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 15:53:45 +0100 Subject: [PATCH 45/62] Update documentation related to tests and naming rules. --- build.gradle.kts | 2 ++ docs/_developer_onboarding.md | 48 +++++++++++++++++++++++++++-------- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 334c539d94..1a47a1b38b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -207,6 +207,8 @@ koverMerged { bound { minValue = 50 // Setting a max value, so that if coverage is bigger, it means that we have to change minValue. + // For instance if we have minValue = 25 and maxValue = 30, and current code coverage is now 37.32%, update + // minValue to 35 and maxValue to 40. maxValue = 55 counter = kotlinx.kover.api.CounterType.INSTRUCTION valueType = kotlinx.kover.api.VerificationValueType.COVERED_PERCENTAGE diff --git a/docs/_developer_onboarding.md b/docs/_developer_onboarding.md index 14edae584a..ea6ae89666 100644 --- a/docs/_developer_onboarding.md +++ b/docs/_developer_onboarding.md @@ -12,10 +12,11 @@ * [Application](#application) * [Jetpack Compose](#jetpack-compose) * [Global architecture](#global-architecture) - * [Template](#template) + * [Template and naming](#template-and-naming) * [Push](#push) * [Dependencies management](#dependencies-management) * [Test](#test) + * [Code coverage](#code-coverage) * [Other points](#other-points) * [Logging](#logging) * [Rageshake](#rageshake) @@ -143,14 +144,17 @@ Here are the main points: 3. Presenters are also compose first, and have a single `present(): State` method. It's using the power of compose-runtime/compiler. 4. The point of connection between a `View` and a `Presenter` is a `Node`. 5. A `Node` is also responsible for managing Dagger components if any. -6. A `ParentNode` has some child `Node` and only know about them. +6. A `ParentNode` has some children `Node` and only know about them. 7. This is a single activity full compose application. The `MainActivity` is responsible for holding and configuring the `RootNode`. 8. There is no more needs for Android Architecture Component ViewModel as configuration change should be handled by Composable if needed. -#### Template +#### Template and naming -(TODO: This is coming) -There is a template module to easily start a new feature. When creating a new module, you can just copy paste the template. +There is a template module to easily start a new feature. When creating a new module, you can just copy paste the template. It is located [here](../features/template). + +For the naming rules, please follow what is being currently used in the template module. + +Note that naming of files and classes is important, since those names are used to set up code coverage rules. For instance, presenters MUST have a suffix `Presenter`,states MUST have a suffix `State`, etc. Also we want to have a common naming along all the modules. ### Push @@ -172,17 +176,41 @@ All the dependencies (including android artifact, gradle plugin, etc.) should be Some dependency, mainly because they are not shared can be declared in `build.gradle.kts` files. [Dependabot](https://github.com/dependabot) is set up on the project. This tool will automatically create Pull Request to upgrade our dependencies one by one. -**Note** Dependabot does not support yet Gradle verrsion catalog. This is tracked by [this issue](https://github.com/dependabot/dependabot-core/issues/3121). +**Note** Dependabot does not support yet Gradle version catalog. This is tracked by [this issue](https://github.com/dependabot/dependabot-core/issues/3121). ### Test -We have 3 tests frameworks in place: +We have 3 tests frameworks in place, and this should be sufficient to guarantee a good code coverage and limit regressions hopefully: - Maestro to test the global usage of the application. See the related [documentation](../.maestro/README.md). -- Combination of [Showkase](https://github.com/airbnb/Showkase) and [Paparazzi](https://github.com/cashapp/paparazzi), to test UI pixel perfect. To add test, just add `@Preview` for the composable you are adding. See the related [documentation](screenshot_testing.md). -- Tests on presenter with Molecule and [Turbine](https://github.com/cashapp/turbine) (TODO this is coming) +- Combination of [Showkase](https://github.com/airbnb/Showkase) and [Paparazzi](https://github.com/cashapp/paparazzi), to test UI pixel perfect. To add test, just add `@Preview` for the composable you are adding. See the related [documentation](screenshot_testing.md) and see in the template the file [TemplateView.kt](../features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt). We create PreviewProvider to provide different states. See for instance the file [TemplateStateProvider.kt](../features/template/src/main/kotlin/io/element/android/features/template/TemplateStateProvider.kt) + - Tests on presenter with [Molecule](https://github.com/cashapp/molecule) and [Turbine](https://github.com/cashapp/turbine). See in the template the class [TemplatePresenterTests](../features/template/src/test/kotlin/io/element/android/features/template/TemplatePresenterTests.kt). -**Note** For now we want to avoid using mock (such as *mockk*), because this should be note necessary. +**Note** For now we want to avoid using class mocking (with library such as *mockk*), because this should be not necessary. We prefer to create Fake implementation of our interfaces. Mocking can be used to mock Android framework classes though, such as `Bitmap` for instance. + +### Code coverage + +[kover](https://github.com/Kotlin/kotlinx-kover) is used to compute code coverage. Only have unit tests can produce code coverage result. Running Maestro does not participate to the code coverage results. + +Kover configuration is defined in the main [build.gradle.kts](../build.gradle.kts) file. + +To compute the code coverage, run: + +```bash +./gradlew koverMergedReport +``` + +and open the Html report: [../build/reports/kover/merged/html/index.html](../build/reports/kover/merged/html/index.html) + +To ensure that the code coverage threshold are OK, you can run + +```bash +./gradlew koverMergedVerify +``` + +Note that the CI performs this check on every pull requests. + +Also, if the rule `Global minimum code coverage.` is in error because code coverage is `> maxValue`, `minValue` and `maxValue` can be updated for this rule in the file [build.gradle.kts](../build.gradle.kts) (you will see further instructions there). ### Other points From ce7bcdff7f66555686982bab128239eb4d6d2c37 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 18:13:05 +0100 Subject: [PATCH 46/62] Add link to Appyx presentation video. --- docs/_developer_onboarding.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_developer_onboarding.md b/docs/_developer_onboarding.md index ea6ae89666..71a47f0179 100644 --- a/docs/_developer_onboarding.md +++ b/docs/_developer_onboarding.md @@ -131,7 +131,7 @@ About Preview Main libraries and frameworks used in this application: -- Navigation state with [Appyx](https://bumble-tech.github.io/appyx/) +- Navigation state with [Appyx](https://bumble-tech.github.io/appyx/). Please watch [this video](https://www.droidcon.com/2022/11/15/model-driven-navigation-with-appyx-from-zero-to-hero/) to learn more about Appyx! - DI: [Dagger](https://dagger.dev/) and [Anvil](https://github.com/square/anvil) - Reactive State management with Compose runtime and [Molecule](https://github.com/cashapp/molecule) From 80557924bd3584215498401acf708e4237cfd669 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Feb 2023 18:20:19 +0100 Subject: [PATCH 47/62] Fix compilation warning (even if this drawable will never be used at runtime) --- .../src/main/res/drawable/sample_avatar.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libraries/designsystem/src/main/res/drawable/sample_avatar.xml b/libraries/designsystem/src/main/res/drawable/sample_avatar.xml index d3e6796131..3e2436ca1d 100644 --- a/libraries/designsystem/src/main/res/drawable/sample_avatar.xml +++ b/libraries/designsystem/src/main/res/drawable/sample_avatar.xml @@ -24,29 +24,29 @@ android:pathData="M0 0h128v128h-128z" /> + android:pathData="M73 18.7c-4.8 0,-9.7 0.8,-14 2.3,-0.1 0.1,-0.2 0.2,-0.4 0.3l-7.3 4.6c-0.6 0.4,-1.4 0.4,-2 0.1,-0.3,-0.2,-0.6,-0.4,-0.8,-0.7l-0.7,-1.1c-0.6,-1,-0.3,-2.2 0.6,-2.8l7.3,-4.6c0.4,-0.2 0.8,-0.3 1.2,-0.3,-5.5,-3,-23.7,-10.7,-33.7 10.7,-11.8 25.4 11 50.2,-14.4 62.6 0 0 26.2 13.7 40.9,-24.8 3.7 3.2 8.8 5.8 16 7.4,-0.6,-5.6 0.8,-9.8,-2.1,-12.8,-1.3,-1.4,-2.7,-1.5,-4,-2.4,-0.7,-0.5,-1.4,-0.9,-2,-1.3,-1.5,-0.9,-2.6,-1.3,-2.8,-1.4,-1.1,-1,-1.9,-2.4,-2.1,-4.1,-0.5,-3.6,-2.2,-6.9 1.1,-7.4 0.8,-0.1 1.6,-0.1 2.4 0.2 8,-1.5 11.6,-6.7 12.8,-8.9 3.4 4.8 11.7 9.8 31.9 6.8 0.3 1.1 0.6 1.2 0.8 2.4l0.5,-1.3c-0.1,-13,-13.2,-23.5,-29.2,-23.5zM56.1 43.2zM61.4 89.7s6 8.6 19.4 9.7c5.1 0.4 11.3,-0.3 18.6,-2.9,-0.1,-0.6,-0.3,-1.2,-0.4,-1.7,-0.2,-1.1,-3.2,-18,-3.4,-23.6,-0.2,-6.2 0.6,-10 1.6,-12.4h7.3l-2.1,-8.5c-0.1,-2,-0.4,-3.9,-0.6,-5.6 0,-0.3,-0.1,-0.7,-0.2,-1,-0.2,-1.1,-0.4,-2.3,-0.8,-3.4,-20.2 3,-28.5,-2,-31.9,-6.8,-1.2 2.1,-4.8 7.4,-12.8 8.9,-0.8,-0.2,-1.6,-0.3,-2.4,-0.2,-3.3 0.5,-5.6 3.8,-5.1 7.4 0.2 1.7 1 3.1 2.1 4.1 0.2 0.1 1.3 0.5 2.8 1.4 0.6 0.4 1.3 0.8 2 1.3 1.3 0.9 2.6 2 4 3.4 2.9 3 5.6 7.2 6.1 12.8 0.5 4.5,-0.6 10.2,-4.2 17.1zm27.5,-41.2c0.7 0 1.3 0.6 1.3 1.3s-0.6 1.3,-1.3 1.3,-1.3,-0.6,-1.3,-1.3 0.6,-1.3 1.3,-1.3zM56.1 43.2c0.1,-0.1 0,-0.1 0 0zM53.7 100.9l0.2,-0.2,-0.2 0.2z" /> + android:pathData="M80.8 99.3c-13.3,-1.1,-19.4,-9.7,-19.4,-9.7,-1.8 3.4,-4.3 7.1,-7.5 11l-0.3 0.3c-0.4 0.5,-0.9 1.1,-1.4 1.7,-0.7 0.9,-1.6 2.1,-2.8 3.7,-2.3 3.2,-5.4 7.8,-8.8 13.5,-1.4 2.4,-2.9 5.1,-4.4 8 0 0 0 0.1,-0.1 0.1h71.3c-0.6,-1.6,-1.3,-3.2,-1.7,-4.8,-2.2,-8.6,-4.6,-17.9,-6.5,-26.8,-7.2 2.8,-13.3 3.5,-18.4 3zM55.7 16.7l-7.3 4.6c-1 0.6,-1.3 1.9,-0.6 2.8l0.7 1.1c0.2 0.3 0.5 0.6 0.8 0.7 0.6 0.3 1.4 0.3 2,-0.1l7.3,-4.6 0.4,-0.3c0.7,-0.7 0.8,-1.7 0.3,-2.5l-0.7,-1.1c-0.4,-0.6,-1,-0.9,-1.6,-1,-0.5 0,-1 0.1,-1.3 0.4z" /> + android:pathData="M73 18.7c-4.8 0,-9.7 0.8,-14 2.3,-0.1 0.1,-0.2 0.2,-0.4 0.3l-7.3 4.6c-0.6 0.4,-1.4 0.4,-2 0.1,-0.3,-0.2,-0.6,-0.4,-0.8,-0.7l-0.7,-1.1c-0.6,-1,-0.3,-2.2 0.6,-2.8l7.3,-4.6c0.4,-0.2 0.8,-0.3 1.2,-0.3,-5.5,-3,-23.7,-10.7,-33.7 10.7,-11.8 25.4 11 50.2,-14.4 62.6 0 0 26.2 13.7 40.9,-24.8 3.7 3.2 8.8 5.8 16 7.4,-0.6,-5.6 0.8,-9.8,-2.1,-12.8,-1.3,-1.4,-2.7,-1.5,-4,-2.4,-0.7,-0.5,-1.4,-0.9,-2,-1.3,-1.5,-0.9,-2.6,-1.3,-2.8,-1.4,-1.1,-1,-1.9,-2.4,-2.1,-4.1,-0.5,-3.6,-2.2,-6.9 1.1,-7.4 0.8,-0.1 1.6,-0.1 2.4 0.2 8,-1.5 11.6,-6.7 12.8,-8.9 3.4 4.8 11.7 9.8 31.9 6.8 0.3 1.1 0.6 1.2 0.8 2.4l0.5,-1.3c-0.1,-13,-13.2,-23.5,-29.2,-23.5zM56.1 43.2z" /> + android:pathData="M61.4 89.7s6 8.6 19.4 9.7c5.1 0.4 11.3,-0.3 18.6,-2.9,-0.1,-0.6,-0.3,-1.2,-0.4,-1.7,-0.2,-1.1,-3.2,-18,-3.4,-23.6,-0.2,-6.2 0.6,-10 1.6,-12.4h7.3l-2.1,-8.5c-0.1,-2,-0.4,-3.9,-0.6,-5.6 0,-0.3,-0.1,-0.7,-0.2,-1,-0.2,-1.1,-0.4,-2.3,-0.8,-3.4,-20.2 3,-28.5,-2,-31.9,-6.8,-1.2 2.1,-4.8 7.4,-12.8 8.9,-0.8,-0.2,-1.6,-0.3,-2.4,-0.2,-3.3 0.5,-5.6 3.8,-5.1 7.4 0.2 1.7 1 3.1 2.1 4.1 0.2 0.1 1.3 0.5 2.8 1.4 0.6 0.4 1.3 0.8 2 1.3 1.3 0.9 2.6 2 4 3.4 2.9 3 5.6 7.2 6.1 12.8 0.5 4.5,-0.6 10.2,-4.2 17.1zm27.5,-41.2c0.7 0 1.3 0.6 1.3 1.3s-0.6 1.3,-1.3 1.3,-1.3,-0.6,-1.3,-1.3 0.6,-1.3 1.3,-1.3zM56.1 43.2c0.1,-0.1 0,-0.1 0 0z" /> + android:pathData="M53.7 100.9l0.2,-0.2,-0.2 0.2z" /> + android:pathData="M80.8 99.3c-13.3,-1.1,-19.4,-9.7,-19.4,-9.7,-1.8 3.4,-4.3 7.1,-7.5 11l-0.3 0.3c-0.4 0.5,-0.9 1.1,-1.4 1.7,-0.7 0.9,-1.6 2.1,-2.8 3.7,-2.3 3.2,-5.4 7.8,-8.8 13.5,-1.4 2.4,-2.9 5.1,-4.4 8 0 0 0 0.1,-0.1 0.1h71.3c-0.6,-1.6,-1.3,-3.2,-1.7,-4.8,-2.2,-8.6,-4.6,-17.9,-6.5,-26.8,-7.2 2.8,-13.3 3.5,-18.4 3z" /> + android:pathData="M55.7 16.7l-7.3 4.6c-1 0.6,-1.3 1.9,-0.6 2.8l0.7 1.1c0.2 0.3 0.5 0.6 0.8 0.7 0.6 0.3 1.4 0.3 2,-0.1l7.3,-4.6 0.4,-0.3c0.7,-0.7 0.8,-1.7 0.3,-2.5l-0.7,-1.1c-0.4,-0.6,-1,-0.9,-1.6,-1,-0.5 0,-1 0.1,-1.3 0.4z" /> From 6a534e7536f8bfff96561bf0a9999c146bb8325b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 15 Feb 2023 12:57:08 +0100 Subject: [PATCH 48/62] Improve preview for OutlinedTextField and TextField --- .../theme/components/OutlinedTextField.kt | 31 +++++++++++++------ .../theme/components/TextField.kt | 25 ++++++++++++++- .../designsystem/utils/Extensions.kt | 21 +++++++++++++ ...FieldsDarkPreview_0_null,NEXUS_5,1,en].png | 4 +-- ...ieldsLightPreview_0_null,NEXUS_5,1,en].png | 4 +-- ...tFieldDarkPreview_0_null,NEXUS_5,1,en].png | 4 +-- ...FieldLightPreview_0_null,NEXUS_5,1,en].png | 4 +-- 7 files changed, 75 insertions(+), 18 deletions(-) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/Extensions.kt 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 5a5b56e96c..72e2fb64e4 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 @@ -18,6 +18,9 @@ package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material3.ExperimentalMaterial3Api @@ -31,8 +34,11 @@ import androidx.compose.ui.graphics.Shape import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.input.VisualTransformation 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.utils.allBooleans +import io.element.android.libraries.designsystem.utils.asInt @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -92,14 +98,21 @@ internal fun OutlinedTextFieldsDarkPreview() = ElementPreviewDark { ContentToPre @Composable private fun ContentToPreview() { - Column { - OutlinedTextField(onValueChange = {}, value = "Content", isError = false, enabled = true, readOnly = true) - OutlinedTextField(onValueChange = {}, value = "Content", isError = false, enabled = true, readOnly = false) - OutlinedTextField(onValueChange = {}, value = "Content", isError = false, enabled = false, readOnly = true) - OutlinedTextField(onValueChange = {}, value = "Content", isError = false, enabled = false, readOnly = false) - OutlinedTextField(onValueChange = {}, value = "Content", isError = true, enabled = true, readOnly = true) - OutlinedTextField(onValueChange = {}, value = "Content", isError = true, enabled = true, readOnly = false) - OutlinedTextField(onValueChange = {}, value = "Content", isError = true, enabled = false, readOnly = true) - OutlinedTextField(onValueChange = {}, value = "Content", isError = true, enabled = false, readOnly = false) + Column(modifier = Modifier.padding(4.dp)) { + allBooleans.forEach { isError -> + allBooleans.forEach { enabled -> + allBooleans.forEach { readonly -> + OutlinedTextField( + onValueChange = {}, + label = { Text(text = "label") }, + value = "Hello er=${isError.asInt()}, en=${enabled.asInt()}, ro=${readonly.asInt()}", + isError = isError, + enabled = enabled, + readOnly = readonly, + ) + Spacer(modifier = Modifier.height(2.dp)) + } + } + } } } 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 e9f6502fba..4884217b0c 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 @@ -17,6 +17,10 @@ package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material3.ExperimentalMaterial3Api @@ -30,8 +34,11 @@ import androidx.compose.ui.graphics.Shape import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.input.VisualTransformation 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.utils.allBooleans +import io.element.android.libraries.designsystem.utils.asInt @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -93,5 +100,21 @@ internal fun TextFieldDarkPreview() = @Composable private fun ContentToPreview() { - TextField(value = "Hello", onValueChange = {}) + Column(modifier = Modifier.padding(4.dp)) { + allBooleans.forEach { isError -> + allBooleans.forEach { enabled -> + allBooleans.forEach { readonly -> + TextField( + onValueChange = {}, + label = { Text(text = "label") }, + value = "Hello er=${isError.asInt()}, en=${enabled.asInt()}, ro=${readonly.asInt()}", + isError = isError, + enabled = enabled, + readOnly = readonly, + ) + Spacer(modifier = Modifier.height(2.dp)) + } + } + } + } } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/Extensions.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/Extensions.kt new file mode 100644 index 0000000000..a6fa194fca --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/Extensions.kt @@ -0,0 +1,21 @@ +/* + * 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.utils + +internal fun Boolean.asInt(): Int = if (this) 1 else 0 + +val allBooleans = listOf(false, true) 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_DefaultGroup_OutlinedTextFieldsDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_OutlinedTextFieldsDarkPreview_0_null,NEXUS_5,1,en].png index fb679b5908..12b3b8a837 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_OutlinedTextFieldsDarkPreview_0_null,NEXUS_5,1,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e842ff561687f991106043a4f6b51455bd917db879ef1d624bd59df155ac61dd -size 21932 +oid sha256:a341207d89b9d841068b1b0d378de75c14abfa5f413fd07238cd125f62cf0b2b +size 42348 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_DefaultGroup_OutlinedTextFieldsLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_OutlinedTextFieldsLightPreview_0_null,NEXUS_5,1,en].png index 36cc8f6ff1..9effbfcb09 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_OutlinedTextFieldsLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_OutlinedTextFieldsLightPreview_0_null,NEXUS_5,1,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c0ef4d55a1a21fdcec03d5f95871cb0bea94350cbfc5ed7a50cc343df7898ec -size 21054 +oid sha256:4407122130f821256fb19572f50aef531602376d80b4ad0d41ac98558a5552dd +size 37212 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_DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,en].png index 89aafe0d0b..458ab349c5 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,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_DefaultGroup_TextFieldDarkPreview_0_null,NEXUS_5,1,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7363a82f68682a66bef4f1742a240afc8da4735aceaecb51ee3472a9db2926a3 -size 5954 +oid sha256:a4126bd250551e094a1904761c0d49bb4404dda771919ec5fd80d9b088d0e2d4 +size 37904 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_DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,en].png index aeacea07de..98892bdbb7 100644 --- a/tests/uitests/src/test/snapshots/images/io.element.android.tests.uitests_ScreenshotTest_preview_tests[io.element.android.libraries.designsystem.theme.components_null_DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,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_DefaultGroup_TextFieldLightPreview_0_null,NEXUS_5,1,en].png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c31f19f2c19bf94a71bda62792ae710e06e8cec4801c24fe11fbbb2543bcf19 -size 5923 +oid sha256:c2243658ecef2ec5560f017e8ffe3e3c5549ddaf67116e420c8e70b0603e3013 +size 38325 From 016cb6529ffa9107264dfb01be4879c13128bf1d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 15 Feb 2023 12:59:30 +0100 Subject: [PATCH 49/62] Rename class. --- .../messages/timeline/TimelineItemsFactory.kt | 12 ++--- .../timeline/TimelineStateProvider.kt | 16 +++--- .../timeline/components/BubbleState.kt | 4 +- .../components/BubbleStateProvider.kt | 52 +++++++++---------- .../timeline/components/MessageEventBubble.kt | 10 ++-- .../messages/timeline/model/TimelineItem.kt | 2 +- .../model/TimelineItemGroupPosition.kt | 10 ++-- .../TimelineItemGroupPositionProvider.kt | 10 ++-- 8 files changed, 58 insertions(+), 58 deletions(-) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineItemsFactory.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineItemsFactory.kt index 2b7529031d..2e473695af 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineItemsFactory.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineItemsFactory.kt @@ -20,7 +20,7 @@ import androidx.recyclerview.widget.DiffUtil import io.element.android.features.messages.timeline.diff.CacheInvalidator import io.element.android.features.messages.timeline.diff.MatrixTimelineItemsDiffCallback import io.element.android.features.messages.timeline.model.AggregatedReaction -import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition +import io.element.android.features.messages.timeline.model.TimelineItemGroupPosition import io.element.android.features.messages.timeline.model.TimelineItem import io.element.android.features.messages.timeline.model.TimelineItemReactions import io.element.android.features.messages.timeline.model.content.TimelineItemContent @@ -234,7 +234,7 @@ class TimelineItemsFactory @Inject constructor( currentTimelineItem: MatrixTimelineItem.Event, timelineItems: List, index: Int - ): MessagesItemGroupPosition { + ): TimelineItemGroupPosition { val prevTimelineItem = timelineItems.getOrNull(index - 1) as? MatrixTimelineItem.Event val nextTimelineItem = @@ -244,10 +244,10 @@ class TimelineItemsFactory @Inject constructor( val nextSender = nextTimelineItem?.event?.sender() return when { - previousSender != currentSender && nextSender == currentSender -> MessagesItemGroupPosition.First - previousSender == currentSender && nextSender == currentSender -> MessagesItemGroupPosition.Middle - previousSender == currentSender && nextSender != currentSender -> MessagesItemGroupPosition.Last - else -> MessagesItemGroupPosition.None + previousSender != currentSender && nextSender == currentSender -> TimelineItemGroupPosition.First + previousSender == currentSender && nextSender == currentSender -> TimelineItemGroupPosition.Middle + previousSender == currentSender && nextSender != currentSender -> TimelineItemGroupPosition.Last + else -> TimelineItemGroupPosition.None } } } diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt index ac1a39b400..cadffd1262 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt @@ -17,7 +17,7 @@ package io.element.android.features.messages.timeline import io.element.android.features.messages.timeline.model.AggregatedReaction -import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition +import io.element.android.features.messages.timeline.model.TimelineItemGroupPosition import io.element.android.features.messages.timeline.model.TimelineItem import io.element.android.features.messages.timeline.model.TimelineItemReactions import io.element.android.features.messages.timeline.model.content.TimelineItemContent @@ -40,33 +40,33 @@ internal fun aTimelineItemList(content: TimelineItemContent): ImmutableList