Commit Graph

353 Commits

Author SHA1 Message Date
Benoit Marty
f6b5b8419b Implement a migration mechanism to handle internal stuff which need to occur during application upgrade.
Remove VectorFileLogger, it was dead code.
2024-04-24 11:17:23 +02:00
ganfra
6e2ee7dc99 Room list invite: remove remaining inviteList test 2024-04-16 16:46:15 +02:00
ganfra
09a760a3f9 Room list invites : clean and format 2024-04-16 15:49:07 +02:00
ganfra
8f583d78ac Invites : open room instead of invite list when clicking an invite notification 2024-04-16 13:20:43 +02:00
ganfra
650a2b84a1 Add ApplicationConfig object to help tweaking the application / brand name used across the application. 2024-04-10 16:57:18 +02:00
Benoit Marty
d082e666d5 Use productionApplicationName, set to "Element", instead of "Element X", and use ot for screen_onboarding_welcome_message 2024-04-10 16:45:14 +02:00
Benoit Marty
3ffa168774 Add desktopApplicationName to BuildMeta. 2024-04-10 12:36:41 +02:00
Jorge Martin Espinosa
5a08a4b5a3 Improve UI for notification permission screen in onboarding (#2660)
* Improve UI for notification permission screen in onboarding

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-08 10:58:37 +02:00
Jorge Martin Espinosa
b488cbbfb8 Test and verify coverage only on debug variant (#2556)
* Test and verify coverage only on debug variant

* Set files to upload

* Fix also nightlyReports flow
2024-03-15 15:52:33 +01:00
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