Commit Graph

183 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
d848ccc148 Replace knit with generate_toc.py (#6279) 2026-03-10 09:05:20 +01:00
Jorge Martin Espinosa
fdbd7359a0 Remove obfuscation in proguard (#6067)
* Remove obfuscation in proguard for the OSS app. Fully allow it by default for enterprise ones.

* Add logic to use additional customizable proguard files depending on whether the build is an enterprise one or not.
2026-01-23 16:39:11 +01:00
Benoit Marty
5d69f289f5 Add a way to configure value of android.packaging.jniLibs.useLegacyPackaging from command line. 2025-12-08 09:54:01 +01:00
renovate[bot]
84d368741a fix(deps): update android.gradle.plugin to v8.13.1 (#5260)
* fix(deps): update android.gradle.plugin to v8.13.1

* Remove warning about AGP 8.12.x+

* Fix proguard-related code deprecations, use the new `optimization` API

* Workaround issues related to Android lint not being able to check these complex methods with kotlin contracts

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-11-26 11:57:22 +01:00
Benoit Marty
1292da2a72 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
b748fcc631 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
0a0224b586 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Benoit Marty
8b703ed046 Let the enterprise build be able to update the colors. 2025-10-15 11:25:58 +02:00
renovate[bot]
d551d6fadb fix(deps): update dependency com.squareup.okhttp3:okhttp-bom to v5.2.1 (#5524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-13 10:30:06 +00:00
Benoit Marty
629fc552e5 Use DependencyHandlerScope.testCommonDependencies() 2025-09-16 14:38:31 +02:00
Jorge Martín
36bca71a46 Improve the fix for push notifications and MessagingReceiver being unknown to the DI 2025-09-04 16:49:21 +02:00
Jorge Martín
298fda8bcf Fix push notification bindings 2025-09-04 16:49:21 +02:00
Jorge Martín
dca1c5b516 Remove dagger and anvil dependencies, try to simplify gradle build scripts a bit 2025-09-04 16:49:21 +02:00
Jorge Martín
e06bacbff3 Redo DI gradle setup code 2025-09-04 16:49:20 +02:00
Benoit Marty
9daadb384e Do not let default enterprise impl module be implemented for enterprise build. 2025-09-04 13:33:37 +02:00
Benoit Marty
0d4c578108 Improve log to see the build type. 2025-09-04 12:40:25 +02:00
Benoit Marty
2b42271615 Split module deeplink to api and impl. 2025-08-25 11:36:42 +02:00
Jorge Martin Espinosa
955263bee1 Force last owner of a room to pass ownership when leaving (#5094)
* Move `ChangeRoles*` classes to their own module so they can be shared

* Hook the change roles screen to the leave room action, add confirmation dialogs

* Use enum instead of sealed interface for `ChangeRoomMemberRolesListType`

* Try to improve communications between nodes

* refactor (leave room) : makes sure to expose only necessary code from api module

* Add `:libraries:previewutils` module to share some test fixtures used for UI previews

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: ganfra <francoisg@matrix.org>
2025-08-05 17:24:14 +02:00
Benoit Marty
819d9c7da0 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
9ea4853e88 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
65e188c0c0 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
020ba00bcf Use handy buildConfigFieldStr. (#4501) 2025-03-28 16:54:16 +01:00
Benoit Marty
37fdc608c0 Log tha packageId which is currently built. (#4494) 2025-03-28 12:58:10 +01:00
renovate[bot]
bac26635af 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
891c0c6d3b 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
c9890d3073 Move build parameters to a common file 2025-02-20 17:58:41 +01:00
Benoit Marty
9a49f5be6f Ignore dependency that are not third-party licenses to us. 2025-01-07 17:29:16 +01:00
Benoit Marty
05fc76822a 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
6a1e9d0321 Fix warning in Versions.kt: const and naming convention. 2024-10-31 09:28:03 +01:00
renovate[bot]
9c6df9b5c9 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
ab7c5e5cc7 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
60f1bf6e54 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
4a43fcb69a 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
2efdb3ae45 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
fea22313fb Fix copy paste error 2024-09-24 13:40:29 +02:00
Benoit Marty
77d7bacaf6 Use ModulesConfig for push provider modules. 2024-09-24 12:31:18 +02:00
Benoit Marty
2b016227e9 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
Benoit Marty
b9169e6c76 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
c2c7f6b755 Add generated screen to show open source licenses.
For Google Play variant only
2024-07-17 15:53:08 +02:00
Benoit Marty
b804e5488b Create module :appicon:enterprise 2024-07-03 17:20:13 +02:00
Benoit Marty
ca8f13cfaf 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
950e502ca6 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
0e23e081ce Use different groups for Element Enterprise 2024-07-02 17:21:03 +02:00
Benoit Marty
dc8d3dc7fe Element Enterprise: use different appId for nightly build. 2024-07-02 14:58:13 +02:00
Benoit Marty
6c0719e067 Merge pull request #3025 from element-hq/feature/bma/elementEnterprise
Element enterprise (EE) foundations
2024-07-01 17:08:40 +02:00
Benoit Marty
0fb7f621ba Remove unnecessary packaging configuration. 2024-07-01 11:54:54 +02:00
Benoit Marty
c4bb13098f 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
77d10eaf39 Remove towncrier template. 2024-06-27 12:16:34 +02:00
Benoit Marty
83d5904f28 Remove towncrier invocation when building nightly. 2024-06-27 11:52:38 +02:00
Benoit Marty
f339bd5d25 Gradle: log which application is built. 2024-06-26 11:59:46 +02:00