Commit graph

22 commits

Author SHA1 Message Date
Jorge Martin Espinosa
619aa6f2de
Split MatrixRoom into BaseRoom and JoinedRoom (#4561)
`JoinedRoom` will now contain both a mandatory live timeline reference and all the functionality associated to it.

`BaseRoom` on the other hand will contain only functionality that's shared for both joined and not joined rooms.

`NotJoinedRoom` is a wrapper around `RoomPreviewInfo` data and a possible local `BaseRoom`, if it exists.

The `RustRoomFactory` cache is now gone since the persistent event cache should have the same effect.
2025-04-23 15:53:40 +02:00
renovate[bot]
1dcd6088d3
fix(deps): update kotlin (#4552)
* fix(deps): update kotlin

* Fix deprecation warning

* Remove this workaround, it's not needed anymore, and was causing a compilation error:

* What went wrong:
A problem occurred configuring project ':libraries:session-storage:impl'.
> Failed to notify project evaluation listener.
   > Element 'kspDebugKotlin' of type 'com.google.devtools.ksp.gradle.KspAATask_Decorated' from container 'task set' cannot be cast to 'org.jetbrains.kotlin.gradle.tasks.KotlinCompile'.
   > Element 'kspReleaseKotlin' of type 'com.google.devtools.ksp.gradle.KspAATask_Decorated' from container 'task set' cannot be cast to 'org.jetbrains.kotlin.gradle.tasks.KotlinCompile'.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-04-09 16:45:48 +02:00
Benoit Marty
ad33151968 Exclude some class from State coverage check
> Rule 'Check code coverage of states' violated:
    instructions covered percentage for class 'io.element.android.libraries.mediaviewer.impl.local.player.MediaPlayerControllerState' is 0.000000, but expected minimum is 90
    instructions covered percentage for class 'io.element.android.libraries.textcomposer.components.FormattingOptionState' is 0.000000, but expected minimum is 90
2025-02-06 16:51:18 +01:00
Benoit Marty
8a1e530ece Kover: include back :libraries:matrix:impl module. 2025-01-27 09:55:57 +01:00
Benoit Marty
97f3be3dc5 Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
Benoit Marty
9a5d4fc2f5 Fix kover rule (PdfViewerState has moved)
Remove obsolete items
Reorder items.
2024-11-29 15:15:24 +01:00
Benoit Marty
c209245c2b Exclude Konsist code from Kover. 2024-11-26 15:59:29 +01:00
Benoit Marty
4c61e5dfa2 Remove :samples:minimal module 2024-11-14 09:06:13 +01:00
Jorge Martin Espinosa
f8fa218146
Upgrade the used JDK in the project to v21 (#3582)
* Upgrade the used JDK in the project to v21

* Use it for CI too

* Centralise java language version

* Fix deprecations, tests and lint issues

* Fix coverage taking into account `@Preview` annotated code.

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-10-03 09:38:03 +00:00
Jorge Martin Espinosa
79c17f714f
Use Anvil KSP instead of the Square KAPT one (#3564)
* Use Anvil KSP instead of the Square KAPT one

* Fix several configuration cache, lint and test issues

* Allow incremental kotlin compilation in the CI

* Workaround Robolectric + Compose issue that caused `AppNotIdleException`

* Update the `enterprise` commit hash

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2024-10-02 11:52:17 +00:00
Joe Groocock
bac14dd019
Fix deprecation warning in KoverExtension
> Task :plugins:compileKotlin
    w: file:///.../plugins/src/main/kotlin/extension/KoverExtension.kt:70:109
    'capitalized(): String' is deprecated. This was never intended as a
    public API.

Signed-off-by: Joe Groocock <me@frebib.net>
2024-09-09 22:05:15 +00:00
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
b741c32e91
Add full screen intent permissions banner (#3024)
* Add full screen intent permissions banner, creating `:libraries:fullscreenintent` modules.
* Add it to notification settings too:
    - Create `libraries:fullscreenintent` modules for the permission presenter and associated data.
    - Add the presenter and states to `NotificationSettingsPresenter` and `NotificationSettingsView`.
* Use the right API to check for full screen intent permissions.
- Use the right package name for `:libraries:permission` contents.
* Fix broken tests (flaky?)
* Ignore coverage verification for fake and small presenters

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-06-18 07:41:10 +00:00
Benoit Marty
2aeab9ea29 Second try... 2024-05-31 12:34:24 +02:00
Benoit Marty
9e387534e7 Exclude io.element.android.features.location.impl.common.permissions.DefaultPermissionsPresenter from kover check 2024-05-31 11:34:28 +02:00
Jorge Martin Espinosa
29723a691e
Try to fix CI quality flow (#2880)
* Fix CI quality step:
    - Remove the `onCheck` property in the different Kover verify variants in case they caused this.
    - Try splitting quality flow per check to avoid OOM issues.
2024-05-20 12:15:43 +02:00
renovate[bot]
bb96eea4bd
Update kotlin to v0.8.0 (#2854)
* Update kotlin to v0.8.0

* Adapt our setup to `v0.8.0`'s changes

* Make sure verification tasks run on `check` tasks

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-05-17 17:07:19 +02:00
Jorge Martin Espinosa
810c0ed8f3
Test and verify coverage only on debug variant (#2556)
* Test and verify coverage only on debug variant

* Set files to upload

* Fix also nightlyReports flow
2024-03-15 15:52:33 +01:00
renovate[bot]
f865f301d5
Update wysiwyg to v2.32.0 (#2531)
* Update wysiwyg to v2.32.0

* Bump min global coverage value to 70

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-03-12 12:19:38 +01:00
Benoit Marty
99773bc7e0 Kover: ignore io.element.android.features.leaveroom.fake.FakeLeaveRoomPresenter 2024-02-19 13:42:15 +01:00
Benoit Marty
fa05b18d32 Create gplay and fdroid variant 2024-01-11 21:42:04 +01:00
Jorge Martin Espinosa
f281c6c365
Don't apply Kover to projects with AAR libraries (#2211)
* Don't apply Kover to projects with AAR libraries

* Move the Kover configuration to the `plugins` project
2024-01-11 21:16:31 +01:00