Commit Graph

31 Commits

Author SHA1 Message Date
Benoit Marty
e81d20ec2e Render State Event in the timeline. 2023-05-25 14:16:23 +02:00
Benoit Marty
bbe4b7d26a Process state event in timeline - WIP 2023-05-25 14:16:23 +02: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
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
Florian Renaud
463e47c907 Add missing OptIn 2023-05-12 13:28:22 +02:00
Florian Renaud
c22d181d8c Remove useless OptIn in tests 2023-05-12 10:05:39 +02:00
Jorge Martin Espinosa
ed16ea5e48 [Media upload] Upload image, video and files (#411)
* Add media upload

* Display media upload error messages using a Snackbar.
2023-05-11 15:56:13 +00:00
Jorge Martin Espinosa
cd298b9359 [Media upload] Media pre-processing (#403)
* Create `mediaupload` module for media pre-processing.

* Split `mediapicker` and `mediaupload` modules.
2023-05-10 10:06:56 +02:00
bmarty
367b659edc Sync Strings from Localazy 2023-05-08 00:08:48 +00: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
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
ed3f0f1430 Merge branch 'develop' into feature/fga/some_room_related_fixes 2023-04-28 15:58:54 +02:00
Jorge Martin Espinosa
8e451c934e Add PickerLauncher wrapper for media/file pickers. (#361)
* Add `PickerLauncher` wrapper for media/file pickers.

* Add FileProvider path, handle Camera picker and add NoOp implementation to fix tests.

* Move media pickers to their own module.

* Add missing media pickers

* Add feature flag and some extra tests
2023-04-28 10:52:34 +02:00
ganfra
f4c98aeef5 Merge branch 'develop' into feature/fga/some_room_related_fixes 2023-04-27 17:25:12 +02:00
Jorge Martin Espinosa
aef2b38983 [Room Details] Block & unblock user (#340) 2023-04-26 16:14:44 +02:00
ganfra
7eddf1201a Timeline: add ContentType instead of using introspection. 2023-04-24 10:42:27 +02:00
ganfra
b0152059ff Room : continue improving members loading 2023-04-21 14:39:47 +02:00
ganfra
f02ee307cc Improve handling members 2023-04-20 18:21:47 +02:00
ganfra
df4c9b3cf7 Fix bottomsheet not using right theme (BottomSheet is not part of material3) 2023-04-20 15:58:20 +02:00
Jorge Martin Espinosa
e704870e3f 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
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
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
Benoit Marty
c774f7529e [Strings] Use strings from localazy. 2023-03-27 14:44:24 +02:00
ganfra
7599b5617f [MatrixSDK] map the remaining EventContents 2023-03-14 12:28:46 +01:00
ganfra
dc8cfcdb8e [MatrixSDK] make tests passes 2023-03-13 21:12:42 +01:00
ganfra
38dc36e7bf [MatrixSDK] finish mapping timeline and makes it compile 2023-03-13 20:18:16 +01:00
ganfra
8ccd21d856 [MatrixSDK] start mapping all the timeline objects 2023-03-10 18:32:46 +01:00
ganfra
b2c68d555a [Architecture] introduce nodeBuilder concept 2023-03-07 20:31:16 +01:00
ganfra
9d91fb06cc Merge branch 'develop' into feature/fga/improve_node_architecture 2023-03-07 12:10:20 +01:00
ganfra
43b304e523 Try splitting messages into api and impl modules 2023-03-03 14:38:05 +01:00