Commit graph

114 commits

Author SHA1 Message Date
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
Benoit Marty
798da50454 Use CommonStrings everywhere 2023-06-27 09:45:00 +02:00
bmarty
874739ece9 Sync Strings from Localazy 2023-06-26 00:10:53 +00:00
Johannes Marbach
679ec376f2 Remove send message section until it's actually implemented (#632)
Fixes: #616
2023-06-19 17:24:34 +02:00
github-actions[bot]
fe5524bae4 Sync Strings (#630)
* Sync Strings from Localazy

* Update strings, remove broken German translation

* Update screenshots

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-19 11:18:01 +00:00
Benoit Marty
9b4b9e9140 Introduce simulateLongTask to ensure that the Presenter State Loading is visible.
Also do some cleanup on the tests.
2023-06-15 10:57:05 +02:00
Benoit Marty
0c64921f10 Merge pull request #549 from vector-im/feature/bma/onboardingServer
Onboarding iteration
2023-06-13 09:21:50 +02:00
Benoit Marty
9e73e70a22 Enforce usage of TestScope.testScheduler 2023-06-12 19:49:56 +02:00
Benoit Marty
f7fbab6ea7 Fix warning 2023-06-12 17:42:01 +02:00
Benoit Marty
445df09411 Always use import io.element.android.libraries.ui.strings.R as StringR 2023-06-09 18:19:00 +02:00
Chris Smith
bc695258bf Merge pull request #553 from vector-im/bug/cjs/updating-room-details
Fix changing room avatar from details screen
2023-06-07 16:07:07 +01:00
Chris Smith
72497af09a Fix changing room avatar from details screen
The presenter was expecting the MediaProcessor to return a
MediaUploadInfo.Image, but it actually returns
MediaUploadInfo.AnyFile because we're not compressing avatars
(so it doesn't process the file and return more detailed info).

This check/cast was entirely pointless, so change to just
working on whatever we're given. The pickers constrain which
types of file the user select, so we should be reasonably happy
the files are images.

Also actually log error details when updating the details,
so we know what's going wrong.

Closes #550
2023-06-07 11:18:03 +01:00
Chris Smith
b3ac6e2b97 Bump some font sizes from small to medium after review 2023-06-06 16:44:19 +01:00