Commit graph

72 commits

Author SHA1 Message Date
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
0c95912c9c Group some state events in the timeline 2023-05-25 14:17:09 +02: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
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
Chris Smith
848f1cb988 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
9f7c48c3dd Handle "Invite people" action in the start a chat flow 2023-05-20 00:56:23 +02:00
Florian Renaud
e407b51f6b Sync strings 2023-05-16 16:36:47 +02:00
Florian Renaud
7a36d084e6 change wording for DM creation dialog 2023-05-16 16:36:47 +02:00
bmarty
f54b4e9f7e Sync Strings from Localazy 2023-05-08 00:08:48 +00:00
Jorge Martin Espinosa
014c0f4186 [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
bmarty
8f1793ffa4 Sync Strings from Localazy 2023-05-01 00:09:50 +00:00
bmarty
860777d20c Sync Strings from Localazy 2023-04-24 00:09:54 +00:00
Chris Smith
34cc352053 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
30eb794d9c [Room details] DM designs (#313)
* Implement member details screen

* Add DM-only sections to the room details screen.
2023-04-17 16:41:10 +00:00
Jorge Martin Espinosa
de010545fb 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
81fc3406c8 Handle create room action 2023-04-14 14:57:25 +02:00
Florian Renaud
62866965d9 Merge pull request #308 from vector-im/feature/fre/create_room_screen
Create a room screen (UI)
2023-04-13 23:40:25 +02:00
Jorge Martin Espinosa
851c0eeb8f [Room Details] Implement member details screen (#302) 2023-04-13 16:41:57 +00:00
Florian Renaud
99bb29c81a Use string resources 2023-04-13 15:49:00 +02:00
Benoit Marty
b396ce3e20 Add default value for noActivityFoundMessage 2023-04-12 09:41:22 +02:00
github-actions[bot]
d0fc9f23c8 Sync Strings from Localazy (#307)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-04-11 09:45:58 +00:00
Benoit Marty
8541fdf64d Add strings to localazy and import them 2023-04-05 16:59:17 +02:00
Benoit Marty
00964212b7 Invoke ./tools/localazy/downloadStrings.sh --all 2023-04-05 12:25:17 +02:00
Benoit Marty
85b825e669 Ensure ellipsis char is used (fix lint issue). 2023-04-05 11:44:55 +02:00
Benoit Marty
cca31af3f4 Invoke ./tools/localazy/downloadStrings.sh --all 2023-04-05 11:11:47 +02:00
Jorge Martin Espinosa
11f041d940 [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
610e4aa8b6 Revert "Update Gradle and AGP to v8.0 (#283)" (#295)
This reverts commit cda0606a0d.
2023-04-04 14:44:01 +00:00
Jorge Martin Espinosa
cda0606a0d 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
ecc73dd325 [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
4a121fbd0f 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
0af5ee0741 [Strings] Sync the strings. 2023-03-27 14:36:46 +02:00
Benoit Marty
522fbeb39d Remove useless file 2023-03-27 14:33:22 +02:00
Benoit Marty
59f57da728 [Strings] Remove previous strings. 2023-03-27 14:32:28 +02:00
Jorge Martin Espinosa
09c275d883 [Verify Session] Add missing 'start verification' screen. (#241)
* Add missing 'start verification' screen. 
* Fix retries sometimes not working because of `SessionVerificationController.setDelegate`.
* Make the negative button invisible when not needed.
2023-03-23 14:24:25 +01:00
Jorge Martin Espinosa
2906168baa Handle 'invalid server' error in server selection screen properly. (#214)
* Handle 'invalid server' error in server selection screen properly.

* Use `action_learn_more` for composing the server location footer action.
2023-03-21 09:34:14 +01:00
Benoit Marty
930cde37d4 Merge pull request #231 from vector-im/feature/bma/localazy
Localazy
2023-03-20 12:52:29 +01:00
Benoit Marty
33190674c1 Remove automation to sync Element Android strings. 2023-03-20 11:25:53 +01:00
Jorge Martin Espinosa
ea17abebf3 Display most recent activity in room list (#220)
* Create `RoomLastMessageFormatter` to produce readable room summaries.

* Add unit tests using Robolectric, fix bugs

* Add changelog

* Move `RoomLastMessageFormatter` back to `impl` module, allow it to receive an `EventTimelineItem` instead of `MessageContent`.
2023-03-20 11:18:25 +01:00
Doug
3f9e58cc78 Add localazy.json 2023-03-17 15:12:27 +00:00
Jorge Martin Espinosa
dcb98f06aa Add Session Verification flow (#197) 2023-03-17 10:07:19 +01:00
Jorge Martin Espinosa
ff5694239c Address design comments on the change server screen (#196)
* Address design comments on the change server screen

* Update screenshots

* Address review comments.
2023-03-09 13:51:44 +00:00
Maxime NATUREL
e6c7afd614 Add buttons to create and invite 2023-03-08 15:46:47 +01:00
Maxime NATUREL
3efb141afc Fix duplicated strings and use back button 2023-03-08 15:46:46 +01:00
Florian Renaud
1f85df8a1a Update SearchBar by using the DockedSearchBar from material3 2023-03-08 15:46:46 +01:00
Maxime NATUREL
fd43b6b336 Top app bar for the start chat screen 2023-03-08 15:46:46 +01:00
Florian Renaud
cec6d3ef88 Update create room screen 2023-03-08 15:46:45 +01:00
bmarty
db5107a292 Import strings from Element Android 2023-03-08 06:06:37 +00:00