Commit graph

121 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
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
a719f1df30 New app icon (imported with 64% of scale) 2023-09-18 13:10:07 +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
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
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
Benoit Marty
6aa5239189 Enable detekt rule PreviewPublic and fix existing issues. 2023-07-26 10:08:39 +02:00
Benoit Marty
47b684f724 Let RootFlowNode manage MatrixClientsHolder save and restoration. 2023-07-12 12:25:04 +02:00
ganfra
d77ff60f03 Coroutine: remove diffUpdateDispatcher, not used anymore 2023-07-11 11:40:55 +02:00
Jorge Martin Espinosa
a0c1f2c18a
Display room invitation notification (#735)
* Notifications: Add some extra mappings so we keep the original contents and can pass it later to an UI layer

* Fix notifications not appearing for a room if the app was on that room when it went to background.

* Modernize how we create spannable strings for notifications, remove unneeded dependency

* Remove actions from invite notifications temporarily

* Add `NotificationDrawerManager` interface to be able to clear membership notifications when accepting or rejecting a room invite

* Fix tests

* Add comment to clarify some weird behaviours

* Address review comments

* Set circle shape for `largeBitmap` in message notifications

* Fix no avatar in DM rooms

* Fix rebase issues

* Add invite list pending intent:

- Refactor pending intents.
- Make `DeepLinkData` a sealed interface.
- Fix and add tests.

* Rename `navigate__` functions to `attach__`

* Add an extra test case for the `InviteList` deep link

* Address most review comments.

* Fix rebase issue

* Add fallback notification type, allow dismissing invite notifications.

Fallback notifications have a different underlying type and can be dismissed at will.

* Fix tests
2023-07-10 14:34:58 +02:00
ganfra
d71a025f9d Room : rename the flows 2023-07-06 12:00:45 +02:00
ganfra
43b4351732 Room : small refactoring 2023-07-05 16:10:47 +02:00
Benoit Marty
e81d9c1ac9 Add application version to the setting screen. 2023-07-03 17:09:04 +02:00
Benoit Marty
ea620fc200 Use modifier. 2023-07-03 17:09:04 +02:00
Benoit Marty
c53933ccea Add compose preview for launcher icons (mainly for tests) 2023-06-29 15:21:28 +02:00
Jorge Martin Espinosa
b66801a022 Fix crash when opening a URL with associated text (#699)
* Fix crash when opening a URL with associated text

* Enforce using an `Activity` instead of a `Context` in `SafeUriHandler`.
2023-06-28 09:19:39 +00:00
Jorge Martin Espinosa
a16335b4b7 [Compound] Integrate compound tokens (#586)
* Added tokens.

* Apply color to MaterialTheme, also add typography.

* Map colors to the right ones in the themes.

* Create and improve previews of some components

* More preview improvements

* Add `tertiary` and `onTertiary` colors, remove some unused ones.

* Fix usage of deleted color token

* Fix bug in Switch previews

* Create a separate `:libraries:theme` module to keep everything related to colors, typography and Compound in general.

* Fix `DatePickerPreview`

* Add missing Compound generated files by fixing their package name

* Move `ElementTheme` to the `:libraries:theme` module, make some variables internal.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-27 16:15:40 +00:00
Jorge Martin Espinosa
9251cbf536 [Message Actions] Report messages (#642)
* Add report messages feature

* Try to improve how snackbars are delivered

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-23 10:44:47 +02:00
ganfra
a52db06546 Node: fix compilation after changes 2023-06-12 11:39:28 +02:00
ganfra
3ba219c975 Dagger: makes sure to not remove an active component when navigating 2023-06-09 23:04:33 +02:00