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