Commit graph

126 commits

Author SHA1 Message Date
Benoit Marty
6aa5239189 Enable detekt rule PreviewPublic and fix existing issues. 2023-07-26 10:08:39 +02:00
Benoit Marty
1a1d4c2957 Fix code quality check failures after new rules from #935 has been merged on develop. 2023-07-21 16:04:55 +02:00
Benoit Marty
c75eabbcb0 Enable detekt rules UnnecessaryParentheses and cleanup the code. 2023-07-20 18:08:08 +02:00
Benoit Marty
2928073e22 Enable detekt rules UnusedImports and cleanup the code. 2023-07-20 18:00:23 +02:00
renovate[bot]
156bf08b7a
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
52ae2ca74c Also rename the Composable. 2023-07-18 23:10:10 +02:00
ganfra
1d2fd52ce6 Merge branch 'develop' into feature/fga/power_level 2023-07-18 22:54:33 +02:00
ganfra
d7cb8e076c
Merge pull request #900 from vector-im/feature/fga/better_media_handling
Feature/fga/better media handling
2023-07-18 17:52:41 +02:00
ganfra
84500d41eb Merge branch 'develop' into feature/fga/better_media_handling 2023-07-18 15:13:59 +02:00
Marco Romano
e7cab7ac1d
Make the functions in SystemUtils extensions (#899)
- They are now all extensions over `Context` or `Activity` (when `Context` is not enough) (some of them already were).
- Allows for IDE completion.
2023-07-18 13:11:11 +00:00
ganfra
669e62e462 PowerLevel: use new api exposed from rust which doesn't need to load members. 2023-07-18 15:10:44 +02:00
ElementBot
e75438a8e3
Sync Strings (#882)
* Sync Strings from Localazy

* Update screenshots

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-07-17 10:22:15 +02:00
ganfra
e9a34eb46d Media: upload audio 2023-07-13 20:34:07 +02:00
Benoit Marty
38b91a7592 Fix issue about modifier. 2023-07-12 09:37:13 +02:00
Benoit Marty
d56c668663 Improve UX on Block/Unblock user action. Add loading and error case. And make the value (a bit more) live. 2023-07-11 17:48:31 +02:00
Benoit Marty
253e8c1c2b Move TypographyAliases next to ColorAliases 2023-07-11 11:29:56 +02:00
Benoit Marty
3e03ca4a5e Create alias for typography (more semantic name). aliasButtonText 2023-07-11 10:29:06 +02:00
Benoit Marty
b7b6e0323d Create alias for typography (more semantic name). aliasScreenTitle 2023-07-11 10:29:06 +02:00
Benoit Marty
2844dee6d2 Remove fontSize parameter. Must use style only. 2023-07-10 17:33:42 +02:00
Benoit Marty
92bc490fa3 Remove fontWeight parameter. Must use style only. 2023-07-10 17:33:42 +02:00
Benoit Marty
ff5cecb5cf TextStyle again. 2023-07-10 17:33:42 +02:00
Benoit Marty
5846af2aa4 Remove ElementTextStyles. Only ElementTheme.typography.* styles must be used now. 2023-07-10 17:33:42 +02:00
Chris Smith
20bdf98db6
Merge pull request #824 from vector-im/misc/cjs/left-align-top-bars 2023-07-10 12:23:29 +01:00
Benoit Marty
bfc850907d
Merge pull request #828 from vector-im/sync-localazy
Sync Strings
2023-07-10 13:08:03 +02:00
bmarty
fd6cf1d7fd Sync Strings from Localazy 2023-07-10 00:11:05 +00:00
Chris Smith
8eabb3bd94 Add test for leaving rooms
Completely unrelated to what I was doing, but might appease the
code coverage gods?
2023-07-07 14:13:18 +01:00
Chris Smith
587117484e Room details: don't allow edits in DMs
If the room is a DM, we won't allow any editing functionality
regardless of power levels.

If there is no topic set, then the entire section is hidden,
like in rooms without a topic where you lack the power level
to change it.

Closes #799
2023-07-07 14:13:18 +01:00
Chris Smith
043ed3e0aa Remove CenterAlignedTopAppBar
Centering the titles is very iOS-y and not aligned with the material
guidelines (which say center aligned top bars are only for the main
root page in the app). They also present issues when we have titles
and textual actions that end up being quite long in other languages,
as they end up merging together.

Fixes #655
2023-07-07 13:59:05 +01:00
Chris Smith
1ca7b0ab55
Merge pull request #797 from vector-im/feature/cjs/hide-self-in-search 2023-07-07 12:26:05 +01:00
Chris Smith
303a0a6677 Introduce MatrixClient.isMe for checking sessionID 2023-07-07 12:03:43 +01:00
ganfra
10c2859fac Merge branch 'develop' into feature/fga/waiting_ss_room 2023-07-07 11:34:45 +02:00
Jorge Martin Espinosa
5ee2418a1c
[Design] Use outlined textfields in login screen (#801)
* Use outlined textfields in the login screen

* Fix enabled status

* Fix loading state for button in `ConfirmAccountProviderView` too

* Update subtitle string

* Remove no longer used translation

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-07 10:08:38 +02:00
Marco Romano
ca695ca077 Revert "Auto generate dark mode previews and screenshots (#776)" (#784)
This reverts commit fd467c2451.
2023-07-05 15:47:53 +02:00
Marco Romano
fd467c2451 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
ganfra
2dcd94076f Room: remove bestName and use displayName instead of name where it makes sense 2023-07-05 12:01:51 +02:00
Benoit Marty
e7331e8be0 Merge pull request #742 from vector-im/feature/bma/settingsUi
Settings UI
2023-07-04 10:13:14 +02:00
Benoit Marty
312a5890af PreferenceCategory has more top padding, so reduce the Spacer above in this screen. 2023-07-03 17:09:04 +02:00
Benoit Marty
06ed14cb47 Add title to block and unblock user confirmation dialogs. 2023-07-03 16:33:57 +02:00
bmarty
6e54ed7b77 Sync Strings from Localazy 2023-07-03 00:11:17 +00:00
Benoit Marty
0b7e0293cf Ensure menu item text has style fontBodyLgRegular 2023-06-29 18:17:37 +02:00
Benoit Marty
1d07aa9817 Ensure dropdown menu is 200.dp width. 2023-06-29 18:17:37 +02:00
Benoit Marty
c1ae0ffa58 Create wrapper for DropdownMenuItem and DropdownMenu 2023-06-29 18:17:37 +02:00
Yoan Pintas
c0106a692c Add analytics tracking for some screens (#698) 2023-06-29 13:39:34 +00:00
Marco Romano
354374ed49 MatrixRoom API refinement (#719)
- `syncUpdateFlow` becomes a `val` and always returns the same instance of the underlying `StateFlow` instead of different `Flow` instances to allow consumers not to remember the `Flow` and not to specify an unneeded initial value.
- `timeline` becomes a `val` as it already always returns the same instance.
- Amends calling code accordingly
- Removes a few unneeded `val`s in `RustMatrixClient
- Fixes a small bug in `MessagesPresenter` that allowed to sometime show a newly created room's name as "Empty room" (changes `LaunchedEffect(syncUpdateFlow)` to `LaunchedEffect(syncUpdateFlow.value)`)
2023-06-29 10:48:55 +02:00
Benoit Marty
92bd16832d Rework AvatarSize.
Remove default value for AvatarSize, it has to be explicitely provided.
2023-06-27 19:23:37 +02: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
Benoit Marty
aadc6d68d8 Merge branch 'develop' into feature/bma/removeOldResources 2023-06-27 16:09:30 +02:00
Benoit Marty
c33a08b602 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
316d57d1b6 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
659b9d3d9c Now that the composer as been removed, we do not need element resource module anymore. 2023-06-27 13:34:55 +02:00