Commit graph

23 commits

Author SHA1 Message Date
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
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
719dd20555 Remove useless OptIn in tests 2023-05-12 10:05:39 +02:00
bmarty
860777d20c Sync Strings from Localazy 2023-04-24 00:09:54 +00:00
Jorge Martin Espinosa
fae3417181 Validate several ids in constructors (#336)
* Validate ids in constructors.

* Remove redundant `.value` usage in string interpolation.

* Make a distinction between `SessionId` and `UserId` in `TestData`.
2023-04-18 16:17:13 +00: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
Hans Christian Schmitz
f74c5711f4 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
Benoit Marty
cca31af3f4 Invoke ./tools/localazy/downloadStrings.sh --all 2023-04-05 11:11:47 +02: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
db788183e7 Fix typo 2023-03-27 16:39:15 +02:00
Benoit Marty
998178b70f [Strings] Use strings from localazy. 2023-03-27 14:44:24 +02:00
Benoit Marty
0af5ee0741 [Strings] Sync the strings. 2023-03-27 14:36:46 +02:00
Jorge Martin Espinosa
fb0acc9f51 Make ChangeServerPresenter.submit fail as expected (#236)
* Make `ChangeServerPresenter.submit` fail as expected

* Fix tests to prevent this from ever happening again
2023-03-23 15:19:18 +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
Jorge Martin Espinosa
cd09c15df4 Fix behaviour of Enter and Tab hardware keys in TextFields (#216)
* Fix behaviour of Enter and Tab hardware keys in TextFields

* Add changelog
2023-03-15 13:57:51 +01:00
ganfra
944d4d6ba0 [Login] remove trim on password 2023-03-14 17:06:01 +01:00
ganfra
497fd635f8 [MatrixSDK] make tests passes 2023-03-13 21:12:42 +01:00
ganfra
801eecfe8d [MatrixSDK] finish mapping timeline and makes it compile 2023-03-13 20:18:16 +01:00
ganfra
a230144431 Merge branch 'develop' into feature/fga/improve_node_architecture 2023-03-09 15:42:23 +01:00
ganfra
7455c4923f Merge branch 'develop' into feature/fga/improve_node_architecture 2023-03-09 12:00:34 +01:00
ganfra
ab5cdee031 [Architecture] fix compile and rename LoginRootScreen -> LoginRootView 2023-03-09 10:37:17 +01:00
ganfra
ec1c84e058 Merge branch 'develop' into feature/fga/improve_node_architecture 2023-03-09 10:27:00 +01:00
ganfra
bc9f3b69cc [Architecture] split all feature modules to api/impl 2023-03-08 16:13:45 +01:00