Commit Graph

38 Commits

Author SHA1 Message Date
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
826cacf209 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Jorge Martín
8f09fd62d9 Fixes after rebase 2025-09-04 16:49:21 +02:00
Jorge Martín
fc3153bd26 Fix lint issues and restore commented out code 2025-09-04 16:49:18 +02:00
Jorge Martín
92a4b8b66b Start migrating Anvil KSP to Metro 2025-09-04 16:48:34 +02:00
Jorge Martin Espinosa
2f2e886e9f 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
f0a6a0037c Let element enterprise be able to configure id for mapTiler. (#4446)
* Let element enterprise configure the ids for maptiler service.

* Disable location sharing and location viewer is the service is not available.

* Fix compilation issue on connected test

* Do not allow to reload the map if the mapId is not available.

* Update screenshots

* Rename file.

* Better to inject a string provider here, so we can unit test DefaultLocationService.

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-21 17:06:52 +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
844e0216bd Properly unregister from the ntfy app when the user logs out. 2024-11-15 12:43:57 +01: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
2533dff00c Add Unit test on UserPushStoreDataStore 2024-06-17 14:48:52 +02:00
Benoit Marty
366d6c017d Add ability to not show the pusher registration again. 2024-06-17 11:38:32 +02:00
Benoit Marty
a00ee18f96 Add Konsist test Class with 'ContributeBinding' annotation should have allowed prefix and fix exissting issues.
Also remove annotation `DefaultPreferences`, we only have one implementation.
2024-05-31 10:18:08 +02:00
Benoit Marty
9367f58216 Rename some class from Impl to Default 2024-05-31 09:47:27 +02:00
Benoit Marty
1c52697e59 Fix wrong package name. 2024-05-22 14:44:35 +02:00
Benoit Marty
95507df783 Move some classes to the test module. 2024-05-22 14:41:14 +02:00
Benoit Marty
4bd01b6f4f Improve API, to avoid ignoring errors 2024-05-21 14:45:16 +02:00
Benoit Marty
8971a6c0fb Rename UserPushStoreFactory.create to UserPushStoreFactory.getOrCreate for code clarity. 2024-04-02 18:12:36 +02:00
Benoit Marty
48a7573884 PushClientSecretImpl needs to be a singleton now that it observe the sessions. 2024-01-16 17:33:36 +01:00
Benoit Marty
22a3b64f5f Fix typo 2024-01-16 17:31:26 +01:00
Benoit Marty
fcb84016ca Ensure client secret is deleted when the user signs out. 2024-01-16 14:34:06 +01:00
Benoit Marty
504ff46f1b Also delete the preference file when the store is reset. 2024-01-16 14:14:04 +01:00
Benoit Marty
9f4164a287 Migrate preferencesDataStoreFile to a file using a hash, to fix a crash if the userId is too long. 2024-01-16 14:13:41 +01:00
Benoit Marty
378692f743 Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
renovate[bot]
7e9cda3aa9 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
David Langley
2f6f28bfbb Implement Notification Settings
- Add UI and logic to inform the user of mismatched notification settings and help them correct it.
- Display a warning when the system notification settings are disabled and a link out to the app settings.
- A toggle to disable notifications for the device
- A screen for editing the group and direct chat notification defaults.
- A toggle for switching on/off atRoom and call notifications.
2023-09-12 01:11:13 +01:00
Benoit Marty
da9f52129f Use ConcurrentHashMap to manage synchronization. 2023-07-24 21:53:19 +02:00
Benoit Marty
754b4647ee Add a test to cover fix of #950 2023-07-24 15:28:36 +02:00
Benoit Marty
3457a76446 getOrPut is not thread safe, so ensure that no multiple instance will be created per data store (#950) 2023-07-24 15:01:48 +02:00
Florian Renaud
c22d181d8c Remove useless OptIn in tests 2023-05-12 10:05:39 +02:00
Jorge Martin Espinosa
e704870e3f Validate several ids in constructors (#336)
* Validate ids in constructors.

* Remove redundant `.value` usage in string interpolation.

* Make a distinction between `SessionId` and `UserId` in `TestData`.
2023-04-18 16:17:13 +00:00
Benoit Marty
f4e4be7479 Improve asXId and make tests pass in release and debug mode. 2023-04-12 09:50:04 +02:00
Benoit Marty
f4a283567e Cleanup store. 2023-04-12 09:50:04 +02:00
Benoit Marty
80268156b5 UnifiedPush WIP 2023-04-12 09:50:04 +02:00
Benoit Marty
95bafe4059 UnifiedPush WIP 2023-04-12 09:49:23 +02:00
Benoit Marty
219b97eea7 Split push module into several modules: Firebase, UnifiedPush, store 2023-04-12 09:48:56 +02:00