Commit graph

74 commits

Author SHA1 Message Date
Benoit Marty
eb31505dc7 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
f86431e663 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
c4e0370f41 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Benoit Marty
263e761907 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty
43971ee250 Add unit test on DefaultFeaturesProvider. 2025-10-17 14:55:41 +02:00
Benoit Marty
a38df694fd Fix typo. 2025-10-17 14:52:06 +02:00
Benoit Marty
a24cde6d0b Avoid using volatile FeatureFlags in DefaultFeatureFlagServiceTest 2025-10-17 12:38:55 +02:00
Benoit Marty
ba52b9ad3a Add test on api getAvailableFeatures. 2025-10-17 12:38:54 +02:00
Benoit Marty
de2a4bc8c6 Improve FeatureFlagService API. 2025-10-17 12:38:49 +02:00
Benoit Marty
d2dfad7726 Fix warning and also fix bug! 2025-10-17 12:38:48 +02:00
Jorge Martin Espinosa
9714abe032
Add Labs screen for beta testing of public features (#5465)
* Add Labs screen:

- Make `Feature` have an `isInLabs` boolean to distinguish private feature flags from public ones.
- Have `FeatureFlagsService` provide the list of available flags.
- Display the labs item in the settings screen only if there are available public features.
- Remove public feature toggles from developer options.
- Implement the labs screen with the public features.
- Add a clear cache step to the threads feature toggle
- Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-10-07 10:02:54 +00:00
Benoit Marty
a575019760 Use DependencyHandlerScope.testCommonDependencies() 2025-09-16 14:38:31 +02:00
Jorge Martín
de8de61b2e Remove dagger and anvil dependencies, try to simplify gradle build scripts a bit 2025-09-04 16:49:21 +02:00
Jorge Martín
629776b9a3 Fix module still using dagger annotation 2025-09-04 16:49:21 +02:00
Jorge Martín
4ab62a6a38 Redo DI gradle setup code 2025-09-04 16:49:20 +02:00
Jorge Martín
29a97fc0d9 Fix lint issues and restore commented out code 2025-09-04 16:49:18 +02:00
Jorge Martín
b76a71ebf5 Start migrating Anvil KSP to Metro 2025-09-04 16:48:34 +02:00
Jorge Martin Espinosa
8245ad8bc3
Handle preference stores corruption by clearing them (#5086)
* Handle preference stores corruption by clearing them:
    - Use the centralised `PreferenceDataStoreFactory` instead of `preferences by`.
    - Add `DefaultPreferencesCorruptionHandlerFactory.replaceWithEmpty` to its `create(name)` method so all preference stores are cleared if they're corrupted.

* Add detekt rule to make sure we use `PreferenceDataStoreFactory` instead of `by preferencesDataStore`

* Remove `@SingleIn` annotations as the annotated class no longer have to be singletons
2025-08-22 06:59:06 +00:00
Benoit Marty
f6a17ba42b Replace FeatureFlag.LocationSharing by FeatureFlag.Space in unit test. 2025-08-12 15:52:07 +02: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
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
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
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
Jorge Martin Espinosa
32a374d836
FFs can now be toggled in release builds too (#3101)
- Removed `StaticFeatureFlagProvider`.
- Always provide `PreferencesFeatureFlagProvider`.
- For the default values of feature flags, use a lambda with a `BuildMeta` parameter so we can customize the return value based on its data.
2024-07-02 16:06:42 +00:00
Benoit Marty
e619fefb7f Add a flag to enable or disable incoming share 2024-06-06 12:34:05 +02:00
Jorge Martin Espinosa
c8bd04ceb1
Sign in with QR code (#2793)
* Add QR code login.
* Add FF to disable it in release mode.
* Force portrait orientation on the login flow.
* Create `NumberedList` UI components.
* Improve camera permission dialog.
* Make nodes in qrcode feature use `QrCodeLoginScope` instead of `AppScope`
* Bump SDK version.
* Fix maestro tests

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-31 14:38:27 +02:00
Benoit Marty
643acb17b6 Render data of blocked users (behind deactivated feature flag). 2024-05-28 14:33:21 +02:00
Benoit Marty
268c196e35 Remove flag RoomListFilters.
This is also fixing the filter reset issue when going back to the room list.
2024-04-25 15:55:29 +02:00
Jorge Martin Espinosa
d0f26777da
Remove Room moderation feature flag (#2678)
* Remove the feature flag

* Add changelog

* Increase login timeout for Maestro
2024-04-09 17:53:07 +02:00
ganfra
37d645d153 Merge branch 'develop' into feature/fga/room_directory 2024-03-28 16:15:04 +01:00
ganfra
e4aaf6af2f RoomList filters : enable the feature for production build 2024-03-25 20:36:39 +01:00
ganfra
6e8d0ded36 Room Directory Search : setup the feature 2024-03-20 12:59:02 +01:00
Benoit Marty
889761a8d8 Enable the feature "Mark as unread". 2024-03-15 17:03:41 +01:00
Jorge Martin Espinosa
97f2620997
Add room moderation feature flag (#2495) 2024-03-06 09:51:43 +01:00
ganfra
f18e8030bf Merge develop into feature/fga/room_list_filters 2024-02-22 11:15:43 +01:00
Benoit Marty
daa90a0660 Remove feature flag SecureStorage 2024-02-21 18:30:57 +01:00
ganfra
31988e81fa RoomListFilters: add feature flag 2024-02-20 12:36:20 +01:00
Benoit Marty
3e34461007 Mark as unread: add a feature flag, disabled on release build. 2024-02-08 11:49:14 +01:00
Benoit Marty
4ba73c0bb1
Merge pull request #2202 from element-hq/feature/bma/removeReadReceiptFlag
Remove ReadReceipts feature flag.
2024-01-11 17:13:35 +01:00
Benoit Marty
a83eaede1f Remove ReadReceipts feature flag. 2024-01-11 15:57:59 +01: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
Benoit Marty
fac04034f1 Enable Chat backup, Mentions and Read Receipt in release.
Also change default for debug to enabled, but keep `isFinished = false` for now, so that they are still disableable.
2023-12-21 16:44:54 +01:00
Benoit Marty
ab8e4f1422 Add Konsist test to use isTrue() instead of isEqualTo(true), and fix existing issues. 2023-12-04 15:23:36 +01:00
Benoit Marty
b2d9b41946 Add Konsist test to use isFalse() instead of isEqualTo(false), and fix existing issues. 2023-12-04 15:21:50 +01:00
Benoit Marty
8ec9bc2b84 Read receipts: feature flag 2023-11-16 14:05:00 +01:00
Jorge Martin Espinosa
f752147837
Remove Element Call feature flag and revert base URL to call.element.io (#1809)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-15 13:02:24 +00:00
Benoit Marty
5013ff061e Secure backup: create a feature flag (disabled) 2023-10-31 21:52:33 +01:00
ganfra
ed26c74627 LockScreen : enable the feature 2023-10-31 18:23:48 +01:00
Benoit Marty
f554fb8dcc Change FeatureFlagService.isFeatureEnabled return value from Boolean to Flow<Boolean> 2023-10-31 16:49:19 +01:00