Commit Graph

165 Commits

Author SHA1 Message Date
Chris Smith
6f7200c59a Merge remote-tracking branch 'origin/develop' into misc/cjs/create-join-design-feedback 2023-06-01 16:50:34 +01:00
Chris Smith
2c0d593ca6 Outlined button tweaks
Force the height in InviteSummaryRow as compose defaults to a min
height of 40dp

Change the button text style to ignore font padding so the text
aligns properly
2023-06-01 16:48:27 +01:00
Florian Renaud
04d4b6369a 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
fb147f78b0 Merge remote-tracking branch 'origin/develop' into misc/cjs/create-join-design-feedback 2023-06-01 13:26:27 +01:00
Chris Smith
8b140446bd Search bar: close button colour 2023-06-01 10:14:41 +01:00
Chris Smith
68c010f78b Add TextStyle for getting rid of font padding 2023-06-01 10:14:19 +01:00
Chris Smith
afd76ac93d Progress dialog: match designs, deduplicate code 2023-06-01 10:13:53 +01:00
Chris Smith
c1595669f0 Outline buttons: font weight 2023-06-01 10:13:30 +01:00
Benoit Marty
b08021f1d9 Rework the set homeserver part: get the info, instead of hard-coded value, and implement retry in case of error. 2023-05-30 15:14:57 +02:00
Jorge Martín
3776b1c025 Timestamp improvements 2023-05-26 14:37:39 +02:00
ganfra
1ce0324570 Merge branch 'develop' into feature/fga/image_loading 2023-05-26 11:39:34 +02:00
ganfra
a2bd3792f2 Media: some more improvements over MediaViewer 2023-05-25 23:02:19 +02:00
Marco Romano
67a8802766 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
ganfra
922b63e746 Merge branch 'develop' into feature/fga/image_loading 2023-05-24 17:39:27 +02:00
ganfra
1e7fcaf8bf Media: makes sure system ui get back to normal when leaving preview/viewer 2023-05-24 17:30:09 +02:00
Chris Smith
463b9e0642 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
1eac67bf25 Refactor search related functionality (#436)
Refactor search related functionality

This is a prelude to adding the feature of inviting users to
a room, getting everything in the right place and reusable.

What this does:

## User search refactor

Moves the (global) user search logic (dealing with MXIDs,
minimum lengths, debounces) into a `UserRepository`.

This now sits in a `usersearch` library, which will be
used by the create room flow and the new invite flow.

## SearchBar logic pull-up

Every place we use SearchBar, we're doing the same things
to style placeholders, show back/cancel buttons, etc.

We also have a results type that is duplicated for
basically every feature that uses the search bar.

I've pushed all this common functionality into the
SearchBar itself. This makes the component a bit less
general purpose, but saves a lot of repetition.

## Remove the userlist feature

Almost all the functionality of the userlist feature
is now exclusively used by the create room feature.
Room details uses its own version because the
requirements are different.

Components useful elsewhere (SelectedUsers and
SelectedUser) have gone to matrixui, everything else
has gone to createroom.

## Other bits and pieces

I've fixed everywhere that uses Scaffold to correctly
consume the WindowInsets if the contentPadding is
applied to the contents (which it universally is).
This was a change in the last version of Material3
(I guess previously Scaffold handled the consumption
for us). This fixes weird gaps above search bars.

Added overloads for the MatrixUserRow and
CheckedMatrixUserRow that take the name/subtitle/avatar
separately, so the invites list can pass arbitrary
text like "User has already been invited".

The `blockuser` package was for some reason not
under `impl` but alongside it, I've bumped it into
the right place.
2023-05-22 09:06:54 +00:00
Florian Renaud
b157a42f8a Restore missing OptIn annotation 2023-05-16 16:41:43 +02:00
Florian Renaud
1f9812aaf0 Rename preview 2023-05-16 16:36:47 +02:00
Benoit Marty
22e86bdfc8 Fix more warning and replace deprecated code. Also use TextField from our components. 2023-05-15 13:43:27 +02:00
Benoit Marty
3704564198 Use default material3 version again and cleanup @OptIn annotations.
Material3 is now 1.1.0
2023-05-15 12:28:31 +02:00
Jorge Martin Espinosa
31ac97d17a [Media upload] Add media pickers to the Room screen and the composer (#380)
* Add media pickers to the Room screen and the composer.

* Fix exclude rules for translations
2023-05-04 11:51:03 +02:00
Chris Smith
5c935818c6 Move and refactor MatrixUser (#381)
Move and refactor MatrixUser

Instead of living in matrixui and having an AvatarData, this can
reside in the matrix module and just have the URL. An extension
method in matrixui can then provide the AvatarData when required.

This removes some small duplication, and pushes the UI-specific
information (i.e., what size of avatar is going to be rendered)
further down the stack. It also aligns the field names with those
used by the rust SDK (e.g. "displayName" instead of "userName").
2023-05-03 16:30:19 +00:00
Jorge Martin Espinosa
921fb55220 Group design components in Showkase for the Compound team (#375)
* Screenshot tests changes:

    - Group components for Showkase.
    - Set special Paparazzi config for scrolling screens using non null `Preview.heightDp`.
    - Add merged theme preview with `ElementThemedPreview` component.
2023-05-02 16:13:35 +00:00
Jorge Martin Espinosa
e5a8548ab9 Design fixes for room detail, dm & room member detail screens (#363)
* Design fixes for room detail, dm & room member detail screens.

* Record new screenshots, improve RoomDetailsStateProvider.

* Move MainActionButton to its own component in the design system.
2023-05-02 14:02:51 +00:00
ganfra
f4c98aeef5 Merge branch 'develop' into feature/fga/some_room_related_fixes 2023-04-27 17:25:12 +02:00
Jorge Martin Espinosa
e2b2dbf59f [Room list] Search & menu improvements (#356)
* Remove settings menu item, start splitting search UI. Also, add `applyIf` and `circularReveal` modifiers.

* Split UI & logic for room list search

* Suppress `composed` warning, improve its debuggability

* Add content description to the user's avatar, fix window insets. Also, remove unused `SearchRoomListTopBar`.
2023-04-25 11:35:36 +00:00
ganfra
c9370315ad Some clean up 2023-04-25 11:17:05 +02:00
ganfra
57a879e835 Timeline: copy getInitial method from EA to avoid showing @ as avatar. 2023-04-24 10:57:05 +02:00
ganfra
df4c9b3cf7 Fix bottomsheet not using right theme (BottomSheet is not part of material3) 2023-04-20 15:58:20 +02:00
Chris Smith
e90211b5d8 Invite list view
Adds a CTA on the room list to view invites if there are any.

The invite list presents each invite with accept/decline buttons
and (for room invites) the sender details.

Fixes #102
2023-04-19 10:20:48 +01:00
Jorge Martin Espinosa
798bedcaed [Room List] Show offline indicator when the device is offline (#239)
* Implement the network status indicator.

* Add `networkmonitor` feature.
2023-04-17 17:01:16 +02:00
Jorge Martin Espinosa
afd58f1634 Update Gradle to 8.1 and AGP to v8.0 (#329)
* Update AGP to 8.0.0.

* Set JAVA_HOME to JDK17

* Update lint version.

* Use right JDK for dependency analysis, replace deprecated env var.

* Upgrade to Gradle 8.1.

* Remove `@Supress(DSL_SCOPE_VIOLATION)` as it's no longer needed.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-17 08:49:52 +00:00
Florian Renaud
5364bbd2cb Update screenshots 2023-04-13 16:19:55 +02:00
Florian Renaud
bb48f5f378 Room visibility 2023-04-13 15:44:45 +02:00
Florian Renaud
0a926bd05a Navigate from people view to configuration view 2023-04-13 15:44:44 +02:00
Hans Christian Schmitz
30a0da74f0 Add support for autofilling login text fields (#293)
* Add support for autofilling login text fields

Support autofilling login text fields via Android Autofill with the
experimental AndroidX Compose API for it.

Based on https://bryanherbst.com/2021/04/13/compose-autofill/ (with permission).

Signed-off-by: Hans Christian Schmitz <git@hcsch.eu>

* Move autofill implementation to designsystem library

Signed-off-by: Hans Christian Schmitz <git@hcsch.eu>

---------

Signed-off-by: Hans Christian Schmitz <git@hcsch.eu>
2023-04-10 08:21:57 +02:00
Florian Renaud
4bbc2aa3c2 Merge remote-tracking branch 'origin/develop' into feature/fre/start_chat_with_matrix_id 2023-04-05 17:43:52 +02:00
Jorge Martin Espinosa
9064481b4c [Room Details] Leave room (#296)
* Add leave room functionality to the Room Details screen

* Add snackbar message throught `SnackbarDistpacher`
2023-04-05 15:36:41 +02:00
Florian Renaud
9e1a259f96 Use RetryDialog 2023-04-05 12:02:10 +02:00
Florian Renaud
5899211413 Merge remote-tracking branch 'origin/develop' into
feature/fre/start_chat_with_matrix_id
2023-04-05 10:16:33 +02:00
Jorge Martin Espinosa
d7a6779343 [Room member list] Display room member list (#276)
* Implement room member list

* Move timeline initialization back to `TimelinePresenter`.

* Fix crash when the `innerRoom` inside a `RustMatrixRoom` is destroyed but `syncUpdateFlow` is still running.

* Address review comments
2023-04-04 16:07:57 +00:00
Jorge Martin Espinosa
4154a96b54 Revert "Update Gradle and AGP to v8.0 (#283)" (#295)
This reverts commit 4e085efcf4.
2023-04-04 14:44:01 +00:00
Florian Renaud
f65375b5c4 Handle errors on create DM 2023-04-04 15:44:38 +02:00
Jorge Martin Espinosa
4e085efcf4 Update Gradle and AGP to v8.0 (#283)
* Update dependency gradle to v8

* Handle upgrading Gradle to v8.0.2

* Update AGP to 8.0.0-RC01

* Try to set JAVA_HOME to JDK17

* Update lint version.

* Use right JDK for dependency analysis, replace deprecated env var

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 18:02:34 +02:00
Jorge Martin Espinosa
0fb061fb2e [Room Details] Implement room details screen (#256)
* Implement Room Details screen

* Add option to create permalink from room id and alias, add share room action
2023-03-29 05:16:27 +00:00
Jorge Martin Espinosa
c75ebfb1e7 Improve ButtonWithProgress component, replace login and change server buttons (#235)
* Improve `ButtonWithProgress` component.

* Replace `CircularProgresIndicator` with `ButtonWithProgress` in login and server selection screens.
2023-03-28 22:56:59 +02:00
Benoit Marty
c774f7529e [Strings] Use strings from localazy. 2023-03-27 14:44:24 +02:00
Jorge Martin Espinosa
0c0b3d0aa6 [Verify Session] Design fixes (#230)
* Design fixes.

* Make text in emoji items secondary color and the snackbar duration short again

* Try to make margins smaller on smaller displays

---------

Co-authored-by: Florian Renaud <florianr@element.io>
2023-03-23 14:54:44 +00:00
Florian Renaud
02f2ace1e4 Merge pull request #211 from vector-im/feature/fre/start_chat_search_matrixid
[Start chat] Show a single result when searching for a matrixId
2023-03-21 13:58:24 +01:00