Commit graph

89 commits

Author SHA1 Message Date
Benoit Marty
2fb5929e74 Ignore compilation warnings, disabled by default. 2023-07-20 15:27:57 +02:00
Benoit Marty
b15484933d Merge branch 'develop' into fix/jme/880-sliding-sync-loop-expires-and-restarts 2023-07-17 22:18:59 +02:00
Benoit Marty
95d3a7b1ae Ignore RootNavState regarding koverage. 2023-07-17 22:17:04 +02:00
Jorge Martin Espinosa
280b7e32e0 Hide encryption history + FTUE flow (#839)
* First attempt at implementing encrypted history banner and removing old UTDs

* Get the right behavior in the timeline

* Implement the designs

* Extract post-processing logic, add tests

* Add encryption banner to timeline screenshots

* Create FTUE feature to handle welcome screen and analytics

* Move classes to their own packages, add tests for `DefaultFtueState`.

* Remove unnecessary private MutableStateFlow

* Move some FTUE related methods and classes back to the `impl` module

* Handle back press at each FTUE step

* Remove unneeded `TestScope` receiver for `createState` in tests.

* Use light & dark previews for the banner view.

* Move color customization from `TextStyle` to `Text` component.

* Rename `InfoList` design components, use them in `AnalyticsOptInView` too.

* Cleanup MatrixClient.

* Fix copy&paste error

Co-authored-by: Benoit Marty <benoit@matrix.org>

* Fix typo

* Fix Maestro tests

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-07-17 18:34:36 +02:00
Marco Romano
a852465554 MapLibre compose wrapper library (#877)
Heavily inspired from https://github.com/googlemaps/android-maps-compose It doesn't aim to be a full featured library like android-maps-compose, it's been stripped down to only handle our use cases.

Related to:
https://github.com/vector-im/element-meta/issues/1674
https://github.com/vector-im/element-meta/issues/1682
2023-07-17 16:22:29 +02:00
Jorge Martin Espinosa
323a84db37 Disable Paparazzi tasks when Kover is running. (#884)
* Disable Paparazzi tasks when Kover is running.

It allows us to split the test jobs between unit tests, screenshot test and coverage reports.

* Move Sonar upload to the quality workflow, since we have no lint info in tests.
2023-07-17 10:55:51 +02:00
Jorge Martin Espinosa
64b6970c89 Try to improve 'Tests' CI job times (#865)
* Try to improve 'Tests' CI job times

* Remove `-Pci-build=true` for jobs where the debug mode can be explicitly used

* Add some more excluded `*State` values for kover

* Run paparazzi verification at the same time as Kover tasks, otherwise the coverage is lost.
2023-07-13 10:47:55 +02:00
Benoit Marty
4fb277a0c3 Add exepction for SwipeableActionsState. 2023-07-10 13:03:55 +02:00
Benoit Marty
84b2415226 Merge pull request #814 from vector-im/renovate/io.nlopez.compose.rules-detekt-0.x
Update dependency io.nlopez.compose.rules:detekt to v0.1.12
2023-07-07 22:18:47 +02:00
Chris Smith
7b6d98c7d8 Reduce code coverage threshold for presenters
Drop from 90% to 85% to allow for smaller presenters where the
number of untestable instructions generated by kotlin/compose
can reach ~10% of the entire file.
2023-07-07 13:22:28 +01:00
renovate[bot]
d12b6ad1a5 Update dependency io.nlopez.compose.rules:detekt to v0.1.12 2023-07-07 11:26:39 +00:00
Jorge Martin Espinosa
827c6e25ba Fix displaying reaction row in message action list (#788)
* Fix displaying reaction row in message action list

* Rename `sendState` to `localSendState` and make it nullable.

Create an `isRemote` helper to detect if an event comes from the server instead.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-06 16:51:51 +00:00
ganfra
6f8b601ac6 Merge pull request #745 from vector-im/renovate/io.nlopez.compose.rules-detekt-0.x
Update dependency io.nlopez.compose.rules:detekt to v0.1.11
2023-07-04 12:03:18 +02:00
Benoit Marty
d640e5a609 Kover: ignore nearly empty AboutPresenter. 2023-07-03 18:14:54 +02:00
renovate[bot]
86c0f1ce32 Update dependency io.nlopez.compose.rules:detekt to v0.1.11 2023-07-02 10:45:10 +00:00
Marco Romano
0858cfb272 Send pin-drop location (#636)
Share pindrop location

This feature allows the user to share any location by just selecting it from the map.

Closes: https://github.com/vector-im/element-x-android/issues/690
2023-06-29 22:07:47 +00:00
renovate[bot]
016c27450a Update kotlin 2023-06-28 22:23:44 +00:00
Marco Romano
3eb6a4bc5a Set up SDK & reusable map view component (#476)
Adds `libraries/map` which contains some initial building blocks that will be used by the location sharing feature.

Ref: https://github.com/vector-im/element-meta/issues/1684
2023-06-27 07:23:00 +00:00
renovate[bot]
3b03d979af Update dependency io.nlopez.compose.rules:detekt to v0.1.10 2023-06-10 01:07:52 +00:00
renovate[bot]
7972e41b84 Update dependency io.nlopez.compose.rules:detekt to v0.1.8 (#569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-09 15:29:12 +02:00
Jorge Martin Espinosa
b0386e6235 [Message Actions] Display debug info for events in the timeline (#555)
* Display debug info for events in the timeline on debug builds.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-09 06:13:22 +00:00
ganfra
8a3a70ffa5 Merge branch 'develop' into feature/fga/media_viewer_actions 2023-06-07 16:31:28 +02:00
ganfra
865d521545 Media: address PR review 2023-06-07 15:41:07 +02:00
Chris Smith
ad873e8bf7 Coverage: ignore more generated/non-prod code 2023-06-06 13:55:19 +01:00
Chris Smith
b6e45c976f Use member count instead of counting members (#530)
Use member count instead of counting members

For the room details screen, use the member count as supplied by
matrix instead of waiting for the entire member list to be
retrieved and then manually adding up all the relevant users.

This removes the loading state of the member count, relying on
a spinner on the member list itself if the user actually wants
to see the members. (The performance of that will be improved
separately on the rust side in the future)

Closes #505
2023-06-06 10:40:17 +00:00
Jorge Martin Espinosa
5658ad1618 Ignore PdfViewerState for kover merged verify (#524) 2023-06-05 10:02:55 +02:00
Benoit Marty
1e6f52466f Ignore OnBoardingPresenter regarding code coverage. 2023-06-02 09:57:02 +02:00
renovate[bot]
cbea64bd18 Update dependency io.nlopez.compose.rules:detekt to v0.1.7 2023-05-24 15:37:07 +00:00
renovate[bot]
d552f5b4b3 Update dependency io.nlopez.compose.rules:detekt to v0.1.6 2023-05-23 14:46:56 +00:00
Benoit Marty
c8dc2a5e57 Merge pull request #394 from vector-im/feature/bma/moveShowkaseButton
Move showkase button
2023-05-05 16:40:01 +02:00
Benoit Marty
d5363a1d3f Fix issue in task, previous screenshot were never deleted. 2023-05-05 09:43:08 +02:00
renovate[bot]
87e57f5b51 Update kotlin 2023-05-03 17:40:41 +00:00
renovate[bot]
9f88cb4886 Update kotlin 2023-04-21 16:29:06 +02:00
Benoit Marty
328a6ba31a Upgrade ktlint to 0.48.2 2023-04-17 15:18:07 +02:00
Jorge Martin Espinosa
afd58f1634 Update Gradle to 8.1 and AGP to v8.0 (#329)
* Update AGP to 8.0.0.

* Set JAVA_HOME to JDK17

* Update lint version.

* Use right JDK for dependency analysis, replace deprecated env var.

* Upgrade to Gradle 8.1.

* Remove `@Supress(DSL_SCOPE_VIOLATION)` as it's no longer needed.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-17 08:49:52 +00:00
Benoit Marty
2926b7443d Cleanup rule, TemplatePresenter does not exist anymore 2023-04-12 09:40:04 +02:00
Benoit Marty
1a33f6fc50 Merge branch 'develop' into feature/bma/push 2023-04-06 09:13:24 +02:00
Benoit Marty
efe3d3add4 Ignore some classes about coverage. 2023-04-06 09:12:44 +02:00
Benoit Marty
8ce6af7951 Setup Google services Gradle plugin. 2023-04-05 16:18:44 +02:00
Florian Renaud
831eb7c840 exclude fakes from code coverage 2023-04-05 14:25:29 +02:00
Jorge Martin Espinosa
0fb061fb2e [Room Details] Implement room details screen (#256)
* Implement Room Details screen

* Add option to create permalink from room id and alias, add share room action
2023-03-29 05:16:27 +00:00
Benoit Marty
59218490ee Merge pull request #198 from vector-im/renovate/kotlin-monorepo
Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.8.10
2023-03-23 14:23:35 +01:00
renovate[bot]
5e0e6733b3 Update dependency io.nlopez.compose.rules:detekt to v0.1.5 2023-03-17 11:12:09 +00:00
renovate[bot]
18c45ad620 Update dependency io.nlopez.compose.rules:detekt to v0.1.4 (#221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-16 14:49:48 +01:00
renovate[bot]
fe0f0e8163 Update dependency io.nlopez.compose.rules:detekt to v0.1.3 2023-03-15 17:51:17 +00:00
Benoit Marty
3bbb857a19 Adapt kover rules. 2023-03-14 16:26:11 +01:00
renovate[bot]
faa0f42e7b Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.8.10 2023-03-09 16:55:53 +00:00
ganfra
9d91fb06cc Merge branch 'develop' into feature/fga/improve_node_architecture 2023-03-07 12:10:20 +01:00
Jorge Martin Espinosa
e0bb1da258 Add consumer proguard rules for SQLCipher (#138)
* Add consumer proguard rules for SQLCipher

* Add changelog

* Explain why these rules are necessary

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>

* Try to switch to a supported version of Compose Rules to avoid dependency issues

---------

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2023-03-06 19:40:05 +01:00
Jorge Martin Espinosa
33b88b8026 Refine sign in flow to match designs and iOS flow (#100)
* Fix dark theme

* First attempt at replicating iOS' UI & flows.

* Try to fix Maestro tests

* Add error dialogs and tests

* Remove unused modifiers

* Try to fix detekt issues

* Tidy up maestro login flow a bit

* Add `CompoundColorPalette` with some needed colors

* Fixes to designs

* Fix detekt issues

* More design fixes

* Some other minor design fixes

* Add changelog

* Minor tweaks.

* Remove legacy dark material theme as it's no longer needed.

* Move sliding sync 'learn more' url to constants object

* Remove unused focusManager

* Change how the displayed homeserver works

* Keep user input as homeserver if it's valid

* Remove `CompoundColorPalette`, try to fix issue when toggling dark mode.

* Add `@Stable` to the theme, adjust how it toggles in dark mode

* Remove unused strings

* Update screenshots

* Re-organize components in LoginRootScreen

* Bump min coverage to 55, max to 60

* Always replace the snapshots contents when running `recordPaparazzi`

* Fix dark theme preview of components using content colors

* Add `BackButton` component

* Handle errors with dialogs in a generic way

* Align our Dialog components with the designs, use them were needed

* Use a `MatrixHomeserverDetails` data class instead of just an URL.

* `AuthenticationService.getHomeserverDetails()` now returns a `StateFlow`.

Also, try to fix coverage issues in tests.
2023-03-06 09:30:16 +01:00