Commit Graph

344 Commits

Author SHA1 Message Date
Benoit Marty
72b89338b3 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
38fdef0388 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
17f22d143b 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
e22ac6a48d 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
f47b9827c5 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
207df5b648 Log the flavor 2024-01-25 12:25:42 +01:00
Benoit Marty
9a8437f4a1 Only call setupKover() for the app, not for minimal.
minimal does not have the gplay variant.
2024-01-11 22:03:34 +01:00
Benoit Marty
2b749f7683 Cleanup 2024-01-11 21:42:04 +01:00
Benoit Marty
dfc81c7fb1 Ensure that FDroid build will not include Firebase push provider.
`allLibrariesImpl()` is also used by the midule uitest, and in this case `gplayImplementation` cannot be found. Since the push provider modules do not contain any ui, it's fine to move the dependency declaration to the app module.
2024-01-11 21:42:04 +01:00
Benoit Marty
345b7e9ab6 Update gradle tasks and paths regarding the new gplay and fdroid flavor. 2024-01-11 21:42:04 +01:00
Benoit Marty
e4ef00908b Create gplay and fdroid variant 2024-01-11 21:42:04 +01:00
Jorge Martin Espinosa
e859b58f09 Don't apply Kover to projects with AAR libraries (#2211)
* Don't apply Kover to projects with AAR libraries

* Move the Kover configuration to the `plugins` project
2024-01-11 21:16:31 +01:00
Benoit Marty
a926b3d390 Merge branch 'develop' into feature/bma/sxcludePreviewFromCodeCoverage 2024-01-11 16:02:58 +01:00
Benoit Marty
d3830af78b Fix ktlint issues 2024-01-10 19:33:39 +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
Benoit Marty
7fbe848243 Exclude ContentToPreview from coverage, either by using annotation @ExcludeFromCoverage, or by inlining it. 2024-01-09 17:56:01 +01:00
Benoit Marty
ae424ffe6a Merge pull request #1782 from element-hq/feature/bma/upgradeKover
Upgrade kover
2024-01-09 17:52:14 +01:00
Benoit Marty
ffa59333a1 Fix the wrong coverage report
It wasn't taking into account any test result from the debug runs or screenshot tests

Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
2024-01-09 17:07:26 +01:00
Benoit Marty
8f2a1e9e2d Migrate "When running on the CI, run only debug test variants".
Following notice here: https://github.com/Kotlin/kotlinx-kover/blob/v0.7.0/docs/gradle-plugin/migrations/migration-to-0.7.0.md#using-isdisabled-boolean-is-an-error-kover-test-task-config-was-removed
2024-01-09 11:04:28 +01:00
Benoit Marty
b727312040 Upgrade Kover to 0.7.5 2024-01-09 10:51:30 +01:00
Jorge Martín
89762f20be Fix crash when sending image with latest posthog 2024-01-08 16:12:22 +01:00
Jorge Martin Espinosa
b7cf298934 Upgrade to AGP 8.2.0 (#2142)
* Upgrade to AGP 8.2.0

Add proguard rule for the problematic TagSoup library. For some reason, adding this in the consumer proguard rules of the RTE library doesn't seem to work.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-04 12:09:46 +01:00
Jorge Martin Espinosa
4f296ffb49 Disable vector XML rasterisation on API 23 (#2128)
* Disable vector XML rasterisation on API 23

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-12-29 11:41:08 +00:00
Benoit Marty
ed64403dec Send the tracing configuration with the rageshake data. 2023-12-06 17:36:13 +01:00
Marco Romano
c69d610b6c 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
a8b85fb4e6 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
3c4629e74c Add test for IntentProviderImpl 2023-11-24 09:56:45 +01:00
Benoit Marty
b7796e0125 Let the user choose theme (#1499) 2023-11-21 12:02:01 +01:00
Marco Romano
af8f5b805c Delete media caches on startup (#1807)
Clear media caches on app startup
2023-11-20 09:48:11 +00:00
Benoit Marty
115a07ef84 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
208d34f296 Format comment 2023-11-14 23:15:27 +01:00
ganfra
34ae25a56a #1806 fix compilation 2023-11-14 21:38:15 +01:00
ganfra
b9a637458b LockScreen : avoid removing from composition the LoggedInFlowNode.Children when LockScreen is displayed. 2023-11-14 20:59:17 +01:00
Marco Romano
d4a152bd47 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
Benoit Marty
79806852ca Move Knit to Gradle catalog and use alias(libs.plugins.kotlin.serialization). Fix issue with JNA 2023-11-13 09:58:00 +01:00
Benoit Marty
33fe608459 Move appdistribution declarations to Gradle catalog 2023-11-10 16:39:05 +01:00
ganfra
f10231091d LockScreen : refact some code and add secureFlag 2023-11-07 15:55:53 +01:00
ganfra
8d903362c8 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
renovate[bot]
7456d87bde Update plugin com.google.firebase.appdistribution to v4.0.1 (#1656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-27 08:12:44 +02:00
ganfra
a34604512d Pin: add tests and make LockScreenConfig an injectable data class 2023-10-25 18:39:39 +02:00
Marco Romano
d7054fb34d 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
Marco Romano
fb02f698d7 Include desugaring lib also in library modules (#1604)
## Type of change

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

## Content

Includes the `coreLibraryDesugaring(libs.android.desugar)` dependency in all modules which use one of our gradle plugins.

## Motivation and context

Right now desugaring is enabled also in library modules but the desugar dependency is not included in those.
This causes some unwanted side effects such as being unable to run compose previews in an emu.

This change will also include the desugar dependency in those libraries.
2023-10-19 09:00:32 +00:00
Benoit Marty
bdd7ecd789 Move konsist test to their own module. 2023-10-12 18:41:38 +02:00
Benoit Marty
5022b83c05 Konsist: add test for Events 2023-10-12 15:03:50 +02:00
Benoit Marty
7afae87b3e Konsist: add rule obout test class name, and fix existing issue 2023-10-12 15:03:50 +02:00
Benoit Marty
eebc39fab7 Konsist: add test about PreviewParameterProvider class name and fix existing issues. 2023-10-12 15:03:50 +02:00
Benoit Marty
365acbadef Konsist: add test to check Node class name. 2023-10-12 15:03:50 +02:00
Benoit Marty
5d42375151 Split Konsist test into multiple files 2023-10-12 15:03:50 +02:00
Benoit Marty
69c46c993e Konsist: no field should have 'm' prefix, and fix new detected issues. 2023-10-10 22:09:57 +02:00
Benoit Marty
108ce544d7 Konsist: improve test about no default value for State classes, and fix new detected issues. 2023-10-10 21:42:18 +02:00