Commit graph

165 commits

Author SHA1 Message Date
Benoit Marty
61075c7a9b
Update UnifiedPush library (#4358)
* Upgrade `com.github.UnifiedPush:android-connector` from 2.4.0 to 3.0.4

* Do not use jitpack to get the unified push library

* implementation is ok

* Exclude com.google.crypto.tink to fix a compilation issue

* Fix tests.

* Update log.

* Revert "Exclude com.google.crypto.tink to fix a compilation issue"

This reverts commit f431ebe3b78a06282e0ee74c9f428702d463df45.

* Fix compilation issue after rebase.

* Exclude com.google.crypto.tink again.

* Try version 3.0.8

* Use latest version 3.0.9

* Replace tink exclusion with dependency resolution

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2025-05-26 14:56:54 +02:00
Benoit Marty
c61ee59528
Improve the callback uri format and customization. (#4664)
* Remove unused SUPPORT_EMAIL_ADDRESS

* Improve the callback uri format and customization.

Use io.element.android for the scheme of Oidc redirection for Element X.
For nightly the scheme will be io.element.android.nightly
For debug the scheme will be  io.element.android.debug

Element Pro is using `io.element`
2025-05-05 17:46:17 +02:00
Benoit Marty
e3960e78da
Upate datastore to 1.1.4 (#4551)
* datastore 1.1.4

* Allow license "BSD-3-Clause"

Fixes:
ERROR: SPDX identifier 'BSD-3-Clause' is NOT allowed

* I cannot repro the issue
2025-04-14 14:59:19 +00:00
Benoit Marty
d75b249bd7
Use handy buildConfigFieldStr. (#4501) 2025-03-28 16:54:16 +01:00
Benoit Marty
f3a64a1ba8
Log tha packageId which is currently built. (#4494) 2025-03-28 12:58:10 +01:00
renovate[bot]
03f4122b3f
fix(deps): update android.gradle.plugin to v8.9.1 (#4465)
* fix(deps): update android.gradle.plugin to v8.9.1

* Fix AAB issues and AGP deprecations

* Fix `importSupportedLocalesFromLocalazy` to format `en-US` locale properly

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-03-25 18:18:02 +01:00
Benoit Marty
36232fae52 Explicitly import com.google.firebase.appdistribution.gradle.firebaseAppDistribution.
This is fixing this issue reported by lint:
~/app/build.gradle.kts:133: Error: This does not resolve to the right method; you need to explicitly add import com.google.firebase.appdistribution.gradle.firebaseAppDistribution to this file! [WrongGradleMethod]
            firebaseAppDistribution {
            ~~~~~~~~~~~~~~~~~~~~~~~
2025-03-12 14:50:25 +01:00
Benoit Marty
e5ed0a0641 Move build parameters to a common file 2025-02-20 17:58:41 +01:00
Benoit Marty
7b5481fbcd Ignore dependency that are not third-party licenses to us. 2025-01-07 17:29:16 +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
4f60ee2eb2 Fix warning in Versions.kt: const and naming convention. 2024-10-31 09:28:03 +01:00
renovate[bot]
d371c49fad
Update wysiwyg to v2.37.13 (#3596)
* Update wysiwyg to v2.37.13

* Update licenses to include AGPL3 and remove unused ones

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-10-04 14:49:39 +00:00
Benoit Marty
1e91e8b356 Fix building the app using a local SDK.
Inject `AnalyticsService` instead of `UtdTracker` since `UtdTracker` requires access to `org.matrix.rustcomponents.sdk.UnableToDecryptDelegate`
2024-10-04 12:01:30 +02: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
Jorge Martin Espinosa
eeec7cc785
Centralise the DI code generation logic (#3562)
* Create Anvil extension helper

* Use the helper everywhere
2024-09-30 12:20:28 +00:00
Benoit Marty
4fc187896a Fix copy paste error 2024-09-24 13:40:29 +02:00
Benoit Marty
1a979cd142 Use ModulesConfig for push provider modules. 2024-09-24 12:31:18 +02: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
Benoit Marty
965e445d04 Replace OSS licenses plugin with Licensee and some manually done UI.
This should fix both configuration cache and reproducible F-droid builds.

Cleanup and remove gplay/fdroid diff on open source licenses.

Co-authored by @jmartinesp
2024-09-02 21:11:52 +02:00
Benoit Marty
766ae389ce Add generated screen to show open source licenses.
For Google Play variant only
2024-07-17 15:53:08 +02:00
Benoit Marty
9440d08c20 Create module :appicon:enterprise 2024-07-03 17:20:13 +02:00
Benoit Marty
8d1a212bfd Move application icon to their own module, to be able to have another icon for Element Enterprise 2024-07-03 15:15:53 +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
Benoit Marty
0d8064b9da Use different groups for Element Enterprise 2024-07-02 17:21:03 +02:00
Benoit Marty
5506e2ab00 Element Enterprise: use different appId for nightly build. 2024-07-02 14:58:13 +02:00
Benoit Marty
6c4e7ec85e
Merge pull request #3025 from element-hq/feature/bma/elementEnterprise
Element enterprise (EE) foundations
2024-07-01 17:08:40 +02:00
Benoit Marty
5430d792d1 Remove unnecessary packaging configuration. 2024-07-01 11:54:54 +02:00
Benoit Marty
20b738b51d Add a check on isEnterpriseBuild before including enterprise module.
This is not strictly necessary, since if the enterprise modules are not there, nothing will be included by `allEnterpriseImpl()`, but for clarity, it's better to add this check.
2024-07-01 11:53:43 +02:00
Benoit Marty
a457561b47 Remove towncrier template. 2024-06-27 12:16:34 +02:00
Benoit Marty
a565a0396f Remove towncrier invocation when building nightly. 2024-06-27 11:52:38 +02:00
Benoit Marty
9b5738476c Gradle: log which application is built. 2024-06-26 11:59:46 +02:00
Benoit Marty
9e2fb0d0c2 Change application name for EXE build 2024-06-26 11:59:46 +02:00
Benoit Marty
d8e5c0cf34 lift out assignment. 2024-06-26 11:59:45 +02:00
Benoit Marty
1b72221df7 Add first EnterpriseService. 2024-06-26 11:59:41 +02:00
Benoit Marty
828cf4cc8d Remove wrong dependency. 2024-06-14 10:29:48 +02:00
Benoit Marty
6ff1af3276 Add Explicit list of supported languages, generated from Localazy data. 2024-05-06 14:51:19 +02:00
Tonkku
86838e7277
Enable support for Android per-app language preferences (#2795)
* Enable support for Android per-app language preferences

* Add changelog entry
2024-05-06 09:10:49 +02:00
Benoit Marty
7bbcb719d5 Implement a migration mechanism to handle internal stuff which need to occur during application upgrade.
Remove VectorFileLogger, it was dead code.
2024-04-24 11:17:23 +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
Benoit Marty
cccfdfbcc7 Restore branch and git sha, to use it in logs and in rageshakes.
Remove quite useless `gitRevisionDate`.
2024-01-25 14:16:21 +01:00
Benoit Marty
55db8fb200 Only call setupKover() for the app, not for minimal.
minimal does not have the gplay variant.
2024-01-11 22:03:34 +01:00
Benoit Marty
df9f6a9809 Cleanup 2024-01-11 21:42:04 +01:00
Benoit Marty
31fe516a49 Ensure that FDroid build will not include Firebase push provider.
`allLibrariesImpl()` is also used by the midule uitest, and in this case `gplayImplementation` cannot be found. Since the push provider modules do not contain any ui, it's fine to move the dependency declaration to the app module.
2024-01-11 21:42:04 +01:00
Benoit Marty
db6b52f8bf Update gradle tasks and paths regarding the new gplay and fdroid flavor. 2024-01-11 21:42:04 +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
Benoit Marty
371065bfdd Exclude ContentToPreview from coverage, either by using annotation @ExcludeFromCoverage, or by inlining it. 2024-01-09 17:56:01 +01:00
Benoit Marty
b4481dc2a8 Fix the wrong coverage report
It wasn't taking into account any test result from the debug runs or screenshot tests

Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
2024-01-09 17:07:26 +01:00
Benoit Marty
80c69e7cf7 Migrate "When running on the CI, run only debug test variants".
Following notice here: https://github.com/Kotlin/kotlinx-kover/blob/v0.7.0/docs/gradle-plugin/migrations/migration-to-0.7.0.md#using-isdisabled-boolean-is-an-error-kover-test-task-config-was-removed
2024-01-09 11:04:28 +01:00