Commit graph

35 commits

Author SHA1 Message Date
Benoit Marty
f61df38e55 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
Jorge Martin Espinosa
1f69722bdd
Remove Showkase processor not found warning from Danger (#3148)
Instead create a new rule to check if the package name is included in `ComposablePreviewProvider`.
2024-07-05 15:15:18 +02:00
Benoit Marty
39bb543617 Record preview for app icons. 2024-07-03 17:20:35 +02:00
Jorge Martin Espinosa
b0cebf5ca0
Improve screenshot testing with ComposablePreviewScanner (#3125)
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-07-03 13:05:06 +02:00
ganfra
9c84264867 screenshot tests: remove workaround for API 34 now it's handled. 2024-06-04 16:50:05 +02:00
Benoit Marty
56257bd1d3 Stop using deprecated TestParameter.TestParameterValuesProvider 2024-04-26 12:45:26 +02:00
Benoit Marty
071f80c4a7 Delete "fr" screenshot. Only keep "de" ones. If necessary, "fr" or any other languages can be generated on the fly. 2024-03-01 15:00:26 +01:00
Benoit Marty
609abee809 Generate screenshots for foreign languages ("de" and "fr" for now). #2454 2024-02-28 14:30:34 +01:00
Jorge Martin Espinosa
b69cb8175a
Update Compound to v0.0.5 and update icons (#2380)
Update Compound to `v0.0.5`:

- Make sure we fix all the breaking changes.
- Update some icons to use the compound version instead.
-Replace icons with their Compound counterparts when possible.
- Clean up unused icons.
- Fix issues with incorrect icons or sizes being used after replacing the temporary icons with the Compound ones.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-02-12 16:41:58 +00:00
Jorge Martin Espinosa
c2fc6db423
Add missing device id to settings screen (#2320)
* Add missing device id to settings screen

* Extract footer component

* Restore `@PreviewWithLargeHeight` logic

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-31 10:01:17 +00:00
Benoit Marty
5d086ad82d Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
renovate[bot]
c8bd362397
Update plugin ktlint to v12.1.0 (#2200)
* Update plugin ktlint to v12.1.0

* Run `./gradlew ktlintFormat` and fix some issues manually.

* Fix other issues reproted by Ktlint

* Limit false positives, KtLint removes unnecessary curly brace in String templates.

* Remove useless Unit

* Minor improvements over ktlint changes

* Restore `AlertDialogContent` behaviour

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-10 16:22:24 +01:00
Jorge Martin Espinosa
087d2728d5
Extract compound tokens and theming to compound-android library (#1888)
* Replace tokens & icons with the external Compound ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-27 10:30:07 +01:00
Benoit Marty
f42455cbb5 Ensure locale is taken into account by paparazzi. 2023-09-18 16:36:10 +02:00
Benoit Marty
4a01494d1e Shorter screenshot filename. 2023-08-17 18:40:07 +02:00
Benoit Marty
ecc7ba0089 Move io.element.android.tests.uitests.ScreenshotTest to ui.T to generate much shorter name for screenshot files. 2023-08-17 18:09:09 +02:00
Jorge Martin Espinosa
0324719606
Upgrade compose-material3 to 1.2.0-alpha05 version (#1011)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>

Also upgrade compileSdk to 34.
2023-08-17 14:20:54 +02:00
Marco Romano
c48fcac2f1
Use @DayNightPreviews to correctly render the PinIcon in dark mode (#795)
- Fixes rendering of `-night` resources in screenshot tests by overriding the `nightMode` with `paparazzi.unsafeUpdateConfig()`.
2023-07-07 16:35:34 +02:00
Jorge Martin Espinosa
ea381cda2c
Force the default locale to the selected one for screenshot tests (#805) 2023-07-07 10:06:20 +02:00
Marco Romano
3449ea486a Optional day night preview annotation (#793)
Adds the `@DayNightPreviews` annotation that when used on a composable will:
- Display both a day mode and night mode preview in Android Studio.
- Produce both a day and night screenshot during screenshot testing.

The usage of this new annotation is optional, all the current previews continue to work without breakages.
New code can use, when appropriate, the new `@DayNightPreviews` annotation and replace the pattern using three `LightPreview/DarkPreview/ContentToPreview` functions with:

```
@DayNightPreviews
@Composable
fun MyScreenPreview(@PreviewParameter(MyStateProvider::class) state: MyState) {
    ElementPreview {
        MyScreen(
            state = state,
        )
    }
}
```
2023-07-06 12:35:54 +02:00
Marco Romano
ca695ca077 Revert "Auto generate dark mode previews and screenshots (#776)" (#784)
This reverts commit fd467c2451.
2023-07-05 15:47:53 +02:00
Marco Romano
fd467c2451 Auto generate dark mode previews and screenshots (#776)
With this change, composable previews and screenshots should be created with just:
```
@ElementPreviews
@Composable
fun MyViewPreview() {
    ElementPreview { 
        MyView()
    }
}
```

- Adds `@ElementPreviews` which is a shorthand for:
```
@Preview(name = "D")
@Preview(name = "N", uiMode = Configuration.UI_MODE_NIGHT_YES)
```
Should be used in connection with the now public `fun ElementPreview()` composable.

- Adds ElementPreviews to previewAnnotations in dangerfile
- Screenshots of night mode previews are now rendered with night mode
- Replaces `ElementPreviewLight` and `ElementThemedPreview` with `ElementPreview`
- Deprecates `ElementPreviewDark` which should be removed.
- Remaining usages of `ElementPreviewDark` are now ignored during screenshot tests
2023-07-05 13:58:24 +02:00
Jorge Martin Espinosa
679ee301dd Create a dummy value by default for LocalSnackbarDispatcher. (#715)
This should solve the issue with needing to provide a `LocalSnackbarDispatcher` for previews and screenshot tests.
2023-06-28 18:59:08 +02:00
Jorge Martin Espinosa
a16335b4b7 [Compound] Integrate compound tokens (#586)
* Added tokens.

* Apply color to MaterialTheme, also add typography.

* Map colors to the right ones in the themes.

* Create and improve previews of some components

* More preview improvements

* Add `tertiary` and `onTertiary` colors, remove some unused ones.

* Fix usage of deleted color token

* Fix bug in Switch previews

* Create a separate `:libraries:theme` module to keep everything related to colors, typography and Compound in general.

* Fix `DatePickerPreview`

* Add missing Compound generated files by fixing their package name

* Move `ElementTheme` to the `:libraries:theme` module, make some variables internal.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-27 16:15:40 +00:00
Jorge Martin Espinosa
9251cbf536 [Message Actions] Report messages (#642)
* Add report messages feature

* Try to improve how snackbars are delivered

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-23 10:44:47 +02:00
Jorge Martin Espinosa
d37c6e58e0 Revert RenderingMode to NORMAL in ScreenshotTest (#475)
* Revert `RenderingMode` to `NORMAL` in `ScreenshotTest`

* Remove no longer needed code
2023-05-29 18:00:57 +02:00
Jorge Martin Espinosa
9a45e48d9e Group design components in Showkase for the Compound team (#375)
* Screenshot tests changes:

    - Group components for Showkase.
    - Set special Paparazzi config for scrolling screens using non null `Preview.heightDp`.
    - Add merged theme preview with `ElementThemedPreview` component.
2023-05-02 16:13:35 +00:00
Jorge Martín
fe4a11b623 Fix tests using new OnBackPressedDispatcherOwner API 2023-03-28 13:01:41 +02:00
Jorge Martin Espinosa
f300842a87 CI: make sure Paparazzi test failures stop the test flow (#117)
* Run Paparazzi tests just once when koverMergedReport is used.
* Make sure a Paparazzi failure breaks the test flow and blocks merging.
* Change ./gradlew check call in quality.yml to custom runQualityChecks task.
2023-03-02 09:15:47 +01:00
Benoit Marty
bbe10382b0 ElementTheme + MaterialTheme3 2023-02-03 12:57:42 +01:00
Benoit Marty
e4cc733f4a First draft of full custom theme.
ElementTheme everywhere

Create ElementButton
2023-02-03 12:55:36 +01:00
ganfra
e616d75d9d Rename all features modules 2023-01-20 18:35:03 +01:00
ganfra
0c6cd35b69 Rename tests/uitest modules 2023-01-20 17:51:52 +01:00
ganfra
a2f0c64921 Rename designsystem module 2023-01-20 17:09:12 +01:00
Benoit Marty
8ac154ed12 Rename folder to kotlin 2023-01-18 15:49:57 +01:00