Commit graph

225 commits

Author SHA1 Message Date
Benoit Marty
b104dba845 Remove Modifier parameter in private function when only default value is used.
This will improve the code coverage metrics, and this also fixes a few potential bug, where the Modifier was used several times.
2024-02-08 11:06:06 +01:00
Jorge Martin Espinosa
ede1dc0fab
Fix crash about several DataStores using the same file (#2312)
* Fix crash about several DataStores using the same file

- Create `@SessionCoroutineScope` annotation to pass a session-managed coroutine scope to the DI.
- Expose this scope from `MatrixClient`.
- Rework DataStore file creation a bit.
- Centralise session preference creation through `DefaultSessionPreferencesStoreFactory` until we figure out what went wrong with the scoping
2024-01-30 11:10:46 +01:00
Jorge Martin Espinosa
7e58f719fe
Add 'send private read receipts' option in advanced settings (#2290)
* Add 'send private read receipts' option in advanced settings
* Create `SessionPreferencesStore` that stores the settings for the current use separate from those of the app.
* Rename `PreferencesStore` to `AppPreferencesStore` to split the preferences.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-26 10:06:26 +01:00
Jorge Martin Espinosa
b7945675c9
Add a special tracing configuration for nightlies (#2297)
It also enables logging `MATRIX_SDK_BASE_READ_RECEIPTS` at a `TRACE` level for both debug and nightly versions.
2024-01-26 10:05:30 +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
3098d869a8 Log the flavor 2024-01-25 12:25:42 +01:00
Benoit Marty
fa05b18d32 Create gplay and fdroid variant 2024-01-11 21:42:04 +01:00
Benoit Marty
a831f05f6e Fix ktlint issues 2024-01-10 19:33:39 +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
63d51c5cf5 Send the tracing configuration with the rageshake data. 2023-12-06 17:36:13 +01:00
Marco Romano
f186a85ed0
Rename params in NodeFactories for clarity (#1916)
- `context` is now `buildContext` to reflect that it's of type `BuildContext` (and not an android `Context`).
- `NODE` generic type param is now `N` to stick with Java convention: https://docs.oracle.com/javase/tutorial/java/generics/types.html.
2023-11-29 10:01:07 +01:00
Jorge Martin Espinosa
087d2728d5
Extract compound tokens and theming to compound-android library (#1888)
* Replace tokens & icons with the external Compound ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-27 10:30:07 +01:00
Benoit Marty
68f9c81628 Let the user choose theme (#1499) 2023-11-21 12:02:01 +01:00
Marco Romano
28f4ccdf9f
Delete media caches on startup (#1807)
Clear media caches on app startup
2023-11-20 09:48:11 +00:00
Benoit Marty
6bfb3162f6
Merge pull request #1806 from vector-im/feature/fga/lock_screen_composition
LockScreen : rework LoggedInFlowNode and Back management
2023-11-14 23:15:44 +01:00
Benoit Marty
2aa92b655c
Format comment 2023-11-14 23:15:27 +01:00
ganfra
b4a19b91d9 #1806 fix compilation 2023-11-14 21:38:15 +01:00
ganfra
97bbc37f6c LockScreen : avoid removing from composition the LoggedInFlowNode.Children when LockScreen is displayed. 2023-11-14 20:59:17 +01:00
Marco Romano
a5f76da204
Remove lateinit from Application class
Just stumbled in this lateinit and thought we could just get rid of it.
2023-11-14 15:32:18 +01:00
ganfra
5a417ba498 LockScreen : refact some code and add secureFlag 2023-11-07 15:55:53 +01:00
ganfra
6832b1f2db
Feature/fga/biometric unlock (#1702)
* Biometric unlock : refactor a bit existing classes

* Biometric unlock : first implementation

* Biometric: add ui for biometric setup

* Biometric unlock : use localazy strings

* Biometric unlock setup : branch skip/allow events

* Biometric : fix tests

* Biometrics: add small test

* Biometric : clean up

* Update screenshots

* Biometric unlock : address some PR review

* Biometric : improve a bit edge cases

* Fix lint issues

---------

Co-authored-by: ganfra <francoisg@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-10-31 19:22:43 +01:00
Marco Romano
33f5c8efb8
Add global context.cacheDir provider. (#1606)
## Type of change

- [ ] Feature
- [ ] Bugfix
- [x] Technical
- [ ] Other :

## Content

Dagger now provides the app's `cacheDir` when requesting a `@CacheDirectory File`  type.

## Motivation and context

To support some upcoming code that needs the `cacheDir` to be changed during tests.
2023-10-19 14:07:45 +02:00
Benoit Marty
8929a90970 Konsist: add test to ensure filename match top level Composable View, and fix existing issue 2023-10-10 15:39:22 +02:00
Marco Romano
794ad4ab95
Switch off enableOnBackInvokedCallback due to androidx bug (#1517)
Switch off `enableOnBackInvokedCallback` until https://issuetracker.google.com/issues/271303558 is fixed.


Fixes https://github.com/vector-im/element-x-android/issues/1461
2023-10-09 08:39:56 +00:00
Benoit Marty
5b3d340c83
Merge pull request #1435 from vector-im/feature/bma/storeImages
Store images and app icon
2023-10-02 10:19:06 +02:00
Benoit Marty
97122193a5 App icon: Increase foreground ratio from 64 to 66%. 2023-09-29 22:50:14 +02:00
Benoit Marty
55a9d30b99 Format file. 2023-09-28 10:54:42 +02:00
Benoit Marty
949a24560f Import network-security-config.xml file from EA. 2023-09-28 10:54:26 +02:00
ganfra
6abccc1ae7 Revert "DI: more cleanup"
This reverts commit ecf00f5629.
2023-09-19 18:07:20 +02:00
ganfra
ecf00f5629 DI: more cleanup 2023-09-19 17:57:54 +02:00
ganfra
6c296c1cf8 DI: rework how components are created and provided 2023-09-19 17:51:36 +02:00
Benoit Marty
69b57b88e2
Merge pull request #1363 from vector-im/feature/bma/appIcon
Update app icon
2023-09-18 17:28:43 +02:00
Benoit Marty
ae9ecd9a55 Set different app icon background for debug/release/nightly. (#1089) 2023-09-18 15:18:00 +02:00
Benoit Marty
a719f1df30 New app icon (imported with 64% of scale) 2023-09-18 13:10:07 +02:00
Marco Romano
5d15b1ab91 Enable Android 13/14 predictive back gesture
https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture
2023-09-18 12:07:26 +02:00
Benoit Marty
9f02de45b8 setenv "RUST_BACKTRACE" to "1" to get more info when a Rust stacktrace is printed out. 2023-09-11 09:17:50 +02:00
Jorge Martin Espinosa
e19b27badf
De-duplicate sonar job in the CI (#1238)
* De-duplicate sonar job in the CI

* Remove workaround for `src/*/kotlin` folders

* Downgrade the sonarqube plugin version

* Try increasing workers for this job, since it's quite slow

* Warn about regression in latest sonarqube release

* Forbid backups to prevent cryptographic issues
2023-09-07 11:19:13 +00:00
Benoit Marty
a32e5df1ab Developer setting: add entry point to configure the Tracing.
Developer setting: add screen to configure log level.

Give the custom trace filter to the SDK.
2023-09-01 16:26:39 +02:00
David Langley
a5d42f61fa Fix tests and improve structure of CustomReactionState
- Fix tests
- Improve structure of CustomReactionState
2023-08-30 12:47:31 +01:00
David Langley
20c1b32397 Merge branch 'develop' of https://github.com/vector-im/element-x-android into feature/dla/emojibase_integration 2023-08-29 11:31:22 +01:00
Benoit Marty
f8417bda21 Format file. 2023-08-29 10:05:59 +02:00
David Langley
bab8119fb9 Merge branch 'develop' of https://github.com/vector-im/element-x-android into feature/dla/emojibase_integration 2023-08-28 17:03:00 +01:00
David Langley
ce4c12ce74 Integrate emojibase
- Integrate emojibase datasource
- Use element category translations
- Use Material emoji category logos
2023-08-28 16:45:42 +01:00
Benoit Marty
d8459093a5 Introduce LoggedInAppScopeFlowNode. It's a Node just responsible to set up the Dagger SessionScope.
This allow to inject objects with SessionScope in the node `LoggedInFlowNode` and all it's dependency (in my case `FtueState` and `MatrixClient`)
2023-08-25 13:52:32 +02:00
Marco Romano
c4cf6c8170
Merge branch 'develop' into renovate/android.gradle.plugin 2023-08-17 14:52:47 +02:00
ganfra
e8d1f21a14
Feature/fga/rust sdk tracing (#1036)
* Align TracingConfiguration with iOS

* Create TracingTree from rust sdk

* tracing: create a working configuration with RustTracingTree

* Tracing: WIP implementation of new api

* Tracing: clean up

* Tracing: use the latest api

* Tracing: some more clean up

* Remove generated logcat file after compressing it

---------

Co-authored-by: ganfra <francoisg@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-08-09 10:18:49 +00:00
Jorge Martín
4e3bea08e6 Fix tests and warnings 2023-07-26 10:42:28 +02:00
Benoit Marty
6aa5239189 Enable detekt rule PreviewPublic and fix existing issues. 2023-07-26 10:08:39 +02:00
Jorge Martin Espinosa
9247cd765a
Fix: make sure we ignore notifications for open rooms (#867)
* Make sure we ignore notifications for open rooms
- Listen to process lifecycle changes in `AppForegroundStateService`. Use initializers to reliable create it.
- Merge `AppNavigationState` with `AppForegroundState`. Renamed the previous `AppNavigationState` to `NavigationState`, created a new `AppNavigationState` which contains both the navigation state and the foreground state.
2023-07-17 17:02:06 +02:00
Benoit Marty
47b684f724 Let RootFlowNode manage MatrixClientsHolder save and restoration. 2023-07-12 12:25:04 +02:00