Commit graph

233 commits

Author SHA1 Message Date
Benoit Marty
36070c3e2b loadingNode: hide ProgressIndicator in some cases. 2025-09-30 11:54:43 +02:00
Benoit Marty
fa77166092 No need of DI for the LoadingNode. 2025-09-30 11:50:17 +02:00
Benoit Marty
bb11d7d5ae Fix compilation issue. 2025-09-29 10:06:31 +02:00
Benoit Marty
04563d8ac3 Create a LoadingNode to reduce code duplication. 2025-09-29 09:34:37 +02:00
renovate[bot]
5b9ce7a210
Update metro to v0.6.7 (#5416)
* Update metro to v0.6.7

* Replace `@Inject` with `@AssistedInject` where needed

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-09-26 08:16:36 +00:00
ElementBot
d64b867f03
Sync Strings from Localazy (#5385)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-09-22 11:19:35 +02:00
Benoit Marty
6f06e6a6c3 When logging out from Pin code screen, logout from all the sessions. 2025-09-19 09:53:07 +02:00
Benoit Marty
4d7d0ac8d0 Avoid using AndroidJUnit4 runner to test Entrypoint implementations. 2025-09-16 14:38:32 +02:00
Benoit Marty
cca195a1a5 Add more tests. 2025-09-16 14:38:32 +02:00
Benoit Marty
a1aeb24f23 Add test on DefaultEntryPoints 2025-09-16 14:38:32 +02:00
Benoit Marty
a575019760 Use DependencyHandlerScope.testCommonDependencies() 2025-09-16 14:38:31 +02:00
Benoit Marty
e88743bd6a Rename anvil modules to annotations and codegen 2025-09-05 14:26:27 +02:00
bmarty
8027ce9dca Sync Strings from Localazy 2025-09-05 07:44:19 +00:00
Jorge Martín
e8328858ab Fixes after rebase 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
ElementBot
02c9549bc0
Sync Strings from Localazy (#5249)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-09-01 12:44:49 +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
ElementBot
7c40c87d9a
Sync Strings from Localazy (#5178)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-08-18 11:09:27 +02:00
Benoit Marty
82c86a2b4d Remove FeatureFlag.NotificationSettings and FeatureFlag.PinUnlock 2025-08-12 16:08:40 +02:00
Benoit Marty
bdcafde2ce Sync string again 2025-08-04 14:50:08 +02:00
bmarty
ee77c646eb Sync Strings from Localazy 2025-08-04 00:34:11 +00:00
ElementBot
d9ede0544c
Sync Strings from Localazy (#4983)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-07-04 14:37:59 +00:00
bmarty
284241a4ec Sync Strings from Localazy 2025-06-30 00:33:54 +00:00
Benoit Marty
f68b411659
Annotate Composable function with ReadOnlyComposable where it's possible. (#4859) 2025-06-11 14:12:54 +02:00
Benoit Marty
5f191d9f9c
Fix coroutine scope (#4820)
* Inject the session scope instead of the application scope where it's possible.

* Create AppCoroutineScope annotation to let developers explicitly choose the appropriate CoroutineScope when injecting one.
2025-06-04 15:33:51 +00:00
Jorge Martin Espinosa
efdc10e60a
Add catchingExceptions method to replace runCatching (#4797)
- Add `runCatchingExceptions` and `mapCatchingExceptions` to replace `runCatching` and `mapCatching`.
- Make `tryOrNull { ... }` catch only exceptions too.
- Apply the changes to the whole project.
- Add new Rust fakes for tests to handle the code that's now unblocked - previously it just threw an `UnsatisfiedLinkError` which we ignored.
- Add a new `detekt-rules` project with a `RunCatchingRule` to prevent `runCatching` and `mapCatching` usages.
2025-06-04 09:02:26 +02:00
ElementBot
87c376cfb6
Sync Strings from Localazy (#4804)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-06-02 12:05:08 +02:00
ElementBot
e8f29a38bf
Sync Strings (#4775) 2025-05-30 08:47:39 +00:00
Benoit Marty
4572419ed2
Stronger lambda error (#4771)
* Make sure lambdaError() make the test fail in all circumstances.

* Fix existing errors on tests.

* Uniformize the way we are creating class under test.

* Cleanup

* Fix typo

* Fix failing test after rebase.
2025-05-27 15:32:09 +00:00
ElementBot
34e88f30ae
Sync Strings (#4739)
* Sync Strings from Localazy

* Sync strings again

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-05-19 08:17:02 +00:00
ElementBot
bfa05ece67
Sync Strings from Localazy (#4677)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-05-05 12:11:22 +02:00
ElementBot
847f8fcbf6
Sync Strings from Localazy (#4648)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-04-28 10:59:35 +02:00
ElementBot
e3a32ba52e
Sync Strings from Localazy (#4612)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-04-22 08:57:00 +02:00
ElementBot
d9bfcc6c52
Sync Strings (#4590)
* Sync Strings from Localazy

* Fix strings usage after some were moved

* Fix Norwegian string that was causing lint to fail

* Update screenshots

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-04-14 11:24:28 +02:00
Jorge Martin Espinosa
915699a265
Allow using a hardware keyboard to unlock the app using a pin code (#4530)
* Allow using a hardware keyboard to unlock the app using a pin code

* Add UI tests to `PinKeypad`

* Also take into account the numpad keys.

Extract this to an extension property in `ui-utils`. Made `ui-utils` also a compose-compatible library (vs `android-utils`, which doesn't have compose dependencies).
2025-04-07 11:55:35 +02:00
Benoit Marty
a230b83e99
Remember flows (#4533)
* Add Konsist test to ensure that the result of a function returning a flow is remembered.

* Remember flows before they are collected by state.

* Fix compilation issue

* Make isOnline a val.

* Make selectedUsers() a val.

* Make flow() a val.

* Make getUserConsent(), didAskUserConsent() and getAnalyticsId() some val.

* Remove Timeline.paginationStatus() and replace by direct access to the underlined flow.

* Simplify test

* userConsentFlow must be initialized before because it's used in observeUserConsent

* Fix test compilation
2025-04-04 16:50:43 +02:00
Benoit Marty
44b837a6bd
Merge pull request #4378 from element-hq/feature/bma/customSuperButton
Be able to correctly render the UI with other colors.
2025-03-11 09:26:54 +01:00
Benoit Marty
96683850ba Change LocalIsEnterpriseBuild to LocalBuildMeta 2025-03-10 11:08:50 +01:00
Benoit Marty
5064b52619 Sync strings (fix typo) 2025-03-10 10:26:50 +01:00
bmarty
9a75f40855 Sync Strings from Localazy 2025-03-10 00:28:38 +00:00
Benoit Marty
b0cd9905ce Remove PreferenceText, replace by ListItem. 2025-03-05 17:25:35 +01:00
Benoit Marty
eda18f8b78 Replace Material icons with Compound icons wherever it's possible 2025-02-26 22:19:19 +01:00
Jorge Martin Espinosa
dbb1de146b
Upgrade SDK version to 25.02.26 (#4305)
* Upgrade SDK version to 25.02.26

* Remove OIDC URL result from logout, the SDK no longer provides it

* Handle room creation and destruction in a better way

* Remove `onSuccessLogout`
2025-02-26 09:04:49 +00:00
Benoit Marty
43ee582213 Sync strings again.
Revert wrong change on Hungarian plurals.
2025-02-17 11:29:49 +01:00
bmarty
f549e7bba2 Sync Strings from Localazy 2025-02-17 00:30:17 +00:00
Benoit Marty
54af229245 Add unit test for PinUnlockState 2025-02-06 16:51:18 +01:00
Benoit Marty
5456f0e38e
Merge pull request #4226 from element-hq/feature/bma/themeOverride
Theme override
2025-02-06 16:48:16 +01:00
Jorge Martin Espinosa
3c87fb05b2
Create SyncOrchestrator (#4176)
* Create `SyncOrchestrator` to centralise the sync start/stop flow through the whole app: the decision is based on several inputs: sync state, network available, app in foreground, app in call, app needing to sync an event for a notification.

* Make network monitor return network connectivity status, not internet connectivity

* Don't stop the `SyncService` when network connection is lost, let it fail instead. This prevents an issue when using the offline mode of the SDK, which made the wrong UI states to be shown when the `SyncState` is `Idle` (that is, after the service being manually stopped).

* Rename `NetworkStatus.Online/Offline` to `Connected/Disconnected` so they're not easily mistaken with internet connectivity instead
2025-02-06 16:36:57 +01:00