Commit graph

92 commits

Author SHA1 Message Date
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
Chris Smith
34a67bdb2c Create room: labels shouldn't be bold 2023-06-06 16:44:18 +01:00
Chris Smith
7308428596 Use member count instead of counting members (#530)
Use member count instead of counting members

For the room details screen, use the member count as supplied by
matrix instead of waiting for the entire member list to be
retrieved and then manually adding up all the relevant users.

This removes the loading state of the member count, relying on
a spinner on the member list itself if the user actually wants
to see the members. (The performance of that will be improved
separately on the rust side in the future)

Closes #505
2023-06-06 10:40:17 +00:00
github-actions[bot]
044a3c991e Sync Strings (#522)
Sync Strings from Localazy
2023-06-05 15:26:50 +00:00
Chris Smith
8ef7f36de8 Update strings to get new room placeholder text 2023-06-05 12:14:29 +01:00
Chris Smith
ff68974ea3 Invite people to a room: add dividers 2023-06-05 10:51:05 +01:00
Chris Smith
9c21a1dd74 Merge remote-tracking branch 'origin/develop' into misc/cjs/create-join-design-feedback 2023-06-02 16:25:07 +01:00
Jorge Martin Espinosa
4d2caf8172 Fix SearchBar colors. Also fix tertiary color in dark mode. (#516)
* Fix SearchBar colors. Also fix tertiary color in dark mode.
2023-06-02 17:20:43 +02:00
Chris Smith
68c68111af Don't use an empty avatar URL in previews 2023-06-02 15:32:11 +01:00
Chris Smith
1914caa54f More string fiddling 2023-06-02 14:22:35 +01:00
Chris Smith
c1eba96124 Merge remote-tracking branch 'origin/develop' into misc/cjs/create-join-design-feedback 2023-06-01 16:50:34 +01:00
Florian Renaud
5d0fb45ff6 Update room properties from room details (#439)
-  Add the edit action in the room details
-  Add "Add topic" button in room details
-  Add the screen behind that action to edit some room properties: avatar, name, topic
   -  Handle the save button action
      - enable the button only if changes are detected
      - display a loader "updating room"
      - display an error dialog if any request has failed
- Check user has the right power level to change various attributes
   - "Add topic" is only shown if there's no topic and they are able to set on
   - Edit menu is only shown if they can change topic, name or avatar
   - On the edit page, any fields they can't change are uneditable

Co-authored-by: Chris Smith <csmith@lunarian.uk>
2023-06-01 15:10:29 +00:00
Chris Smith
9827c30fc0 Merge remote-tracking branch 'origin/develop' into misc/cjs/create-join-design-feedback 2023-06-01 13:26:27 +01:00
Jorge Martin Espinosa
a36f4b7947 [Room details] Open room member details when clicking on user data in timeline (#482) 2023-06-01 12:03:27 +02:00
Chris Smith
27f9470708 Room details: typography and strings 2023-06-01 10:12:28 +01:00
Chris Smith
473bfd1e23 Display a notice if Matrix ID isn't resolved (#461)
Display a notice if Matrix ID isn't resolved

If we can't get the profile of a user after an mxid was
searched for, show a warning under their ID to say the
invite probably won't be delivered.

Closes #424
2023-06-01 08:40:45 +00:00
Benoit Marty
ff1147e611 Sync localazy to fix lint error. 2023-05-30 13:55:23 +02:00
bmarty
175b7deccb Sync Strings from Localazy 2023-05-29 00:09:47 +00:00
Benoit Marty
9d66af834d Move RoomLastMessageFormatter and related class and resource to the new module eventformatter, in order to prepare rendering of state event in the timeline. 2023-05-25 14:15:35 +02:00
Marco Romano
0dee0784ba Room list contextual menu (#427)
- Adds `ModalBottomSheet` to our design components (it wraps the homonimous Material3 one).
- Adds  a bottom sheet to the Room list using the aforementioned design component.
- Adds navigation from the room list to a room detail (context menu "Settings" action).
- Consolidates the "leave room flow" into a new `leaveroom` module used by both the room list and the room details.
  - Adds progress indicator to the leave room flow
- Uses new `leaveroom` module in `roomdetails` module too. 

Parent issue:
- https://github.com/vector-im/element-x-android/issues/261
2023-05-25 06:42:44 +00:00
Benoit Marty
e486677cf8 Merge pull request #438 from vector-im/feature/fre/invite_people_action
Handle "Invite people" action in the start a chat flow
2023-05-23 17:03:39 +02:00
Chris Smith
198d6d4c56 Invite users to existing rooms (#441)
Invite users to existing rooms

Scope:

- Allow inviting from the room detail screen and the member list
- Invite option is only shown if the user has the correct power level
- Search flow the same as creating a new room, allowing multi-select
- Existing room members/invitees are disabled with a custom caption
- Sending is asynchronous, an error dialog will appear wherever the
  user is if necessary

Closes #245
2023-05-23 09:23:24 +00:00
Chris Smith
44a3f48306 Merge remote-tracking branch 'origin/develop' into feature/fre/invite_people_action 2023-05-22 15:35:25 +01:00