Commit Graph

72 Commits

Author SHA1 Message Date
Benoit Marty
011fa6af67 Merge pull request #1128 from vector-im/feature/bma/cleanupOidc
Cleanup OIDC
2023-08-28 15:08:36 +02:00
Benoit Marty
802c93b98e Fix typo in test class name. 2023-08-28 14:31:36 +02:00
Benoit Marty
bcede44407 Move module features.analytics.test to services.analytics.test. FakeAnalyticsService was not implemented at the correct location. 2023-08-28 14:31:36 +02:00
Benoit Marty
1a6376e723 Merge branch 'develop' into feature/bma/dataObject 2023-08-28 10:56:02 +02:00
Jorge Martin Espinosa
39ef780fe7 Prevent verification while initial sync is in progress (#1138)
* Prevent verification while initial sync is in progress

* Add `canVerifySessionFlow` to simplify the check
2023-08-24 11:43:36 +00:00
Benoit Marty
52853101d9 migrate object to data object (#1135) 2023-08-24 09:32:44 +02:00
Benoit Marty
7278fae142 Handle remarks from PR #1127 2023-08-23 17:23:12 +02:00
Benoit Marty
79aa128377 Add setting entry point to manage account (OIDC) 2023-08-23 12:54:22 +02:00
Benoit Marty
06a9b129d0 Restore OIDC support. 2023-08-23 12:18:42 +02:00
Benoit Marty
43f85e41cd Use generated Showkase.getBrowserIntent to avoid errors. 2023-08-17 18:09:09 +02:00
Jorge Martin Espinosa
e3cfbc113b Upgrade compose-material3 to 1.2.0-alpha05 version (#1011)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>

Also upgrade compileSdk to 34.
2023-08-17 14:20:54 +02:00
Florian Renaud
1083b431b6 Add feature flag for polls (#1064)
* Handle poll events from the sdk

* Render started poll event in the timeline

* Create poll module

* Check poll kind before revealing the results

* Check if user has voted before revealing the results

* Add active poll previews

* Minor cleanup

* Update todos

* Fix CI

* Remove hardcoded string

* Update preview

* changelog file

* Update screenshots

* Use CommonPlurals

* Set poll root view as selectableGroup

* Improve poll result rendering

* Update screenshots

* Add missing showkase processor

* Update screenshots

* Add feature flag for polls

* Add supporting text in PreferenceCheckbox

* Render poll events if feature flag is enabled

* changelog

* Update screenshots

* Fix tests

* Move feature flag check to poll factory

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-16 15:14:38 +00:00
Jorge Martin Espinosa
e248920909 [Compound] Implement Snackbars based on designs (#1054)
* Make `InternalButton` internal instead of private so it can be customised.

Also, change the `ButtonColors.contentColor` for text buttons to `LocalContentColor.current` by default.

* Add temporary color for Snackbar action label

* Implement `Snackbar` component based on Compound

* Propagate changes to all other components

* Use right Preview annotation config

* Move `ButtonVisuals` to their own file

* Update screenshots

* Make previews internal

* Update screenshots

* Set a custom token for contentColor in AppBars

* Change 'Label' to 'Action' in the previews

* Add changelog

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-08-16 10:38:28 +00:00
Benoit Marty
996574f2c6 Enable detekt rule PreviewPublic and fix existing issues. 2023-07-26 10:08:39 +02:00
Benoit Marty
bbd6399c65 Merge pull request #952 from vector-im/feature/bma/fixPushStoreCrash
Fix push store crash
2023-07-25 09:43:37 +02:00
Benoit Marty
ac1d355f65 Cleanup: there are no androidTest on those modules. 2023-07-24 12:41:02 +02:00
Benoit Marty
a0dbba58b3 Fix typo 2023-07-21 21:40:08 +02:00
Benoit Marty
6c9a36f56f Add a way to crash this app on demand. Useful to test Crash detection, and analytics report, etc. 2023-07-21 20:55:04 +02:00
Benoit Marty
c5c130ab67 Ensure the application react correctly if analytics is disabled at compilation time. 2023-07-21 19:19:17 +02:00
Benoit Marty
8f715cbc92 Enable detekt rules TopLevelPropertyNaming and cleanup the code. 2023-07-20 17:52:48 +02:00
renovate[bot]
6d3b816bf5 Update dependency app.cash.molecule:molecule-runtime to v1 (#925)
* Update dependency app.cash.molecule:molecule-runtime to v1

* Replace `RecompositionClock` with `RecompositionMode`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-07-20 07:36:19 +02:00
Benoit Marty
d6980025ca When clearing cache, also reset some data store in prefs/datastore. 2023-07-18 01:35:12 +02:00
ganfra
9846db6338 Rework a bit MatrixClientHolder and reintroduce cacheIndex... 2023-07-17 18:34:50 +02:00
Benoit Marty
50aa4946d9 Fix test. 2023-07-07 16:22:42 +02:00
Benoit Marty
be73fc7ba2 Fix Snackbar colors. 2023-07-07 15:39:43 +02:00
Benoit Marty
3e9396e27c Show Snackbar once the verification is finish in the correct screen (#812) 2023-07-07 15:34:15 +02:00
ganfra
b72313bc84 Nodes: rework RootFlowNode with cache service 2023-07-06 18:08:29 +02:00
Marco Romano
f33561c25d Revert "Auto generate dark mode previews and screenshots (#776)" (#784)
This reverts commit 79b529193c.
2023-07-05 15:47:53 +02:00
Marco Romano
79b529193c Auto generate dark mode previews and screenshots (#776)
With this change, composable previews and screenshots should be created with just:
```
@ElementPreviews
@Composable
fun MyViewPreview() {
    ElementPreview { 
        MyView()
    }
}
```

- Adds `@ElementPreviews` which is a shorthand for:
```
@Preview(name = "D")
@Preview(name = "N", uiMode = Configuration.UI_MODE_NIGHT_YES)
```
Should be used in connection with the now public `fun ElementPreview()` composable.

- Adds ElementPreviews to previewAnnotations in dangerfile
- Screenshots of night mode previews are now rendered with night mode
- Replaces `ElementPreviewLight` and `ElementThemedPreview` with `ElementPreview`
- Deprecates `ElementPreviewDark` which should be removed.
- Remaining usages of `ElementPreviewDark` are now ignored during screenshot tests
2023-07-05 13:58:24 +02:00
Benoit Marty
976ee893e2 Remove dead code. 2023-07-03 17:09:04 +02:00
Benoit Marty
1f455238d6 Replace CurrentUserProvider by an extension on MatrixClient. 2023-07-03 17:09:04 +02:00
Benoit Marty
bd879cb226 Use correct icon. 2023-07-03 17:09:04 +02:00
Benoit Marty
7f79cba40d Fix modifier issue. 2023-07-03 17:09:04 +02:00
Benoit Marty
996d362724 Fix test. 2023-07-03 17:09:04 +02:00
Benoit Marty
666e1f1cbc Move BuildMeta fake to common test module. 2023-07-03 17:09:04 +02:00
Benoit Marty
499a862bfc Add application version to the setting screen. 2023-07-03 17:09:04 +02:00
Benoit Marty
c02dd599d9 Disable rageshake by default. Can be enabled in the developed settings, but this is not available in the release version. 2023-07-03 17:09:04 +02:00
Benoit Marty
acec682dee Add "Complete verification" item in the root setting screen. 2023-07-03 17:09:04 +02:00
Benoit Marty
7b5d18aef4 Add quick test. 2023-07-03 17:09:04 +02:00
Benoit Marty
97c4d783d6 Open legals URL 2023-07-03 17:09:04 +02:00
Benoit Marty
6699462e06 Change hierarchy of settings. 2023-07-03 17:09:04 +02:00
Benoit Marty
002ddf4f3f Show current user in the settings and extract code in CurrentUserProvider. 2023-07-03 17:09:04 +02:00
Benoit Marty
189960eb28 Update some setting screens. 2023-07-03 17:09:04 +02:00
Benoit Marty
5f16297939 Merge branch 'develop' into feature/bma/removeOldResources 2023-06-27 16:09:30 +02:00
Benoit Marty
d782162f27 Merge pull request #684 from vector-im/feature/bma/stringR
Quick PR to introduce `CommonStrings` type alias
2023-06-27 16:00:31 +02:00
Marco Romano
2a82e1b4e4 Async API improvements "v2" (#672)
* Async API improvements "v2"

**NB: This PR actually changes only 3 files in `libraries/architecture/`. All the other changes are automated refactors to fix the calling code.**

This is a proposal for improvements to our `Async` type as discussed in: https://github.com/vector-im/element-x-android/pull/598/files#r1230664392 and in other chats.

Please bear in mind it is just a proposal, I'd love to hear your feedback about it, especially when it comes to naming: I've tried to make parameter and function names use a terminology similar to what we find in the Kotlin stdlib and its `Result` type.

I'm inclined to like more the non-extension flavours of the new `run*` APIs, though I'd also like your feedback about what API shape you prefer.

### Summary of the changes:
#### Functional
- Adds `exceptionOrNull()` API to complement the existing `dataOrNull()` API.
- Adds `isFailure()`, `isLoading()`, `isSuccess()` and `isUninitialized()` courtesy APIs.
- Renames `executeResult()` to `runUpdatingState()`:
	- Becomes the base API to which all the other similarly named APIs call into.
	- Makes it inline.
	- Adds contract.
	- Passes over any `prevData` to newre Async states.
	- Passes through the `block`s return value.
	- Adds unit tests.
- Renames `execute` to `runCatchingUpdatingState()` and makes it just call into `runUpdatingState()`
- Adds extension function overloads to the `run*` functions to accept `MutableState` as receiver

#### Cosmetics
- Reorders classes and methods in alphabetic order.
- Reorder parameter names to mimic conventions in Kotlin stdlib.
- Adds docstrings where useful.

* Use `fold()`

* rename pop to popFirst

* Add docstrings

* Please Detekt

* Rename exception to error.

* Please detekt

* Update existing usages.
2023-06-27 13:37:23 +02:00
Benoit Marty
4cb9843415 Now that the composer as been removed, we do not need element resource module anymore. 2023-06-27 13:34:55 +02:00
Benoit Marty
287328f7df More cleanup 2023-06-27 09:51:33 +02:00
Benoit Marty
4a8c49fa28 Use CommonStrings everywhere 2023-06-27 09:45:00 +02:00
Benoit Marty
a226580c8c Move FileSizeFormatter to module :libraries:androidutils 2023-06-26 11:14:53 +02:00