Commit graph

61 commits

Author SHA1 Message Date
Benoit Marty
f0910a4e2a Fix compilation issue of minimal app. 2023-07-06 14:19:49 +02:00
Benoit Marty
8f6d351054 Waitlist screen 2023-07-05 15:57:39 +02:00
ganfra
3aa5cce8dc Timeline: use val instead of fun for flows 2023-06-29 18:03:12 +02:00
Benoit Marty
f4b4e4d316 Configure user agent for all network request (#677) 2023-06-29 13:05:23 +02: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
ganfra
8e5c2a749a Merge branch 'develop' into feature/fga/room_list_api 2023-06-28 15:14:06 +02:00
Benoit Marty
4d0f58568f Room list: tweak UI and add overflow menu with report bug and invite friends action.
Extract invite friends action to a use case to avoid copy paste.
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
ganfra
812880a148 RoomList: fix tests and sample 2023-06-27 14:06:58 +02:00
ganfra
34f5e0597a Merge branch 'develop' into feature/fga/room_list_api 2023-06-27 10:47:50 +02:00
Benoit Marty
9829daa70e Add logs. 2023-06-26 11:06:36 +02:00
ganfra
cb219e6292 Room/Timeline: simplify the apis 2023-06-21 16:25:18 +02: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
fee86b281e Rename nodes and organize by package into screens subpackage for clarity 2023-06-09 17:38:04 +02:00
Benoit Marty
896075eb47 Fix compilation of minimal app. 2023-06-07 14:40:02 +02:00
ganfra
c0def1c3dc Media actions: add more tests 2023-06-06 22:08:57 +02:00
Benoit Marty
ed18d2b343 Merge pull request #494 from vector-im/feature/bma/checkCode
Check code
2023-06-01 11:53:53 +02:00
Benoit Marty
d4284f167a Fix compilation issue. 2023-05-31 15:47:24 +02:00
Benoit Marty
142c459861 Fix compilation and test 2023-05-30 15:59:58 +02:00
Benoit Marty
a77ff69a65 Merge pull request #443 from vector-im/feature/bma/timelineStateEventFormatting
Timeline state event formatting
2023-05-26 10:43:10 +02:00
Benoit Marty
2898d830d8 Fix warning "Use version catalog instead" 2023-05-25 15:04:01 +02:00
Benoit Marty
66baf1632e Extract to sub classes 2023-05-25 14:16:23 +02:00
Benoit Marty
abf7089cea Inject StringProvider instead of context. 2023-05-25 14:16:23 +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
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
457b83184a Use default material3 version again and cleanup @OptIn annotations.
Material3 is now 1.1.0
2023-05-15 12:28:31 +02:00
Chris Smith
92e9d3a127 Fix a few FFI leaks (#405)
Fix a few FFI leaks

These are instances where we obtain an FFIObject and don't call
Close on it to release the underlying reference on the Rust side.

The worst instance here was leaking an object per room member
every time we refreshed the member list
2023-05-12 10:50:39 +00:00
Chris Smith
ee909fcbd8 Show badges for new invites (#355)
Show badges for new invites

Closes #238
2023-05-04 15:30:55 +00:00
Jorge Martin Espinosa
d391275420 [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
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
Benoit Marty
b982d24bab Create LoggedIn presenter 2023-04-05 16:58:33 +02:00
Benoit Marty
08fa22069b Use presenter factory 2023-04-05 16:31:09 +02:00
Benoit Marty
9c6bc8d872 Create noop version for the minimal sample and test. 2023-04-05 16:27:17 +02:00
Jorge Martin Espinosa
3aea24380a [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
renovate[bot]
0bc2bcb353 Update dependency com.android.tools:desugar_jdk_libs to v2.0.3 (#281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-04 09:16:53 +02: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
Jorge Martin Espinosa
dcb98f06aa Add Session Verification flow (#197) 2023-03-17 10:07:19 +01:00
ganfra
2dc44250fb [MatrixSDK] remove Rust AuthenticationService from the dependency graph 2023-03-14 12:04:53 +01:00
ganfra
801eecfe8d [MatrixSDK] finish mapping timeline and makes it compile 2023-03-13 20:18:16 +01:00
ganfra
ab5cdee031 [Architecture] fix compile and rename LoginRootScreen -> LoginRootView 2023-03-09 10:37:17 +01:00
ganfra
86ebcc376d [Architecture] clean and makes compile 2023-03-09 10:18:25 +01:00
ganfra
7f3679a15e Merge branch 'develop' into feature/fga/improve_node_architecture 2023-03-07 12:10:20 +01:00
Benoit Marty
95ccccc33b Move InMemorySessionStore in it's own module implementation 2023-03-06 13:10:27 +01:00
Benoit Marty
5ea2a4292d Split module session-storage into api and impl. 2023-03-06 13:10:27 +01:00
Benoit Marty
e2bd966878 Split module dateformatter into api, impl and test. 2023-03-06 11:58:11 +01:00
Jorge Martin Espinosa
c87c0ea28c Refine sign in flow to match designs and iOS flow (#100)
* Fix dark theme

* First attempt at replicating iOS' UI & flows.

* Try to fix Maestro tests

* Add error dialogs and tests

* Remove unused modifiers

* Try to fix detekt issues

* Tidy up maestro login flow a bit

* Add `CompoundColorPalette` with some needed colors

* Fixes to designs

* Fix detekt issues

* More design fixes

* Some other minor design fixes

* Add changelog

* Minor tweaks.

* Remove legacy dark material theme as it's no longer needed.

* Move sliding sync 'learn more' url to constants object

* Remove unused focusManager

* Change how the displayed homeserver works

* Keep user input as homeserver if it's valid

* Remove `CompoundColorPalette`, try to fix issue when toggling dark mode.

* Add `@Stable` to the theme, adjust how it toggles in dark mode

* Remove unused strings

* Update screenshots

* Re-organize components in LoginRootScreen

* Bump min coverage to 55, max to 60

* Always replace the snapshots contents when running `recordPaparazzi`

* Fix dark theme preview of components using content colors

* Add `BackButton` component

* Handle errors with dialogs in a generic way

* Align our Dialog components with the designs, use them were needed

* Use a `MatrixHomeserverDetails` data class instead of just an URL.

* `AuthenticationService.getHomeserverDetails()` now returns a `StateFlow`.

Also, try to fix coverage issues in tests.
2023-03-06 09:30:16 +01:00
Benoit Marty
466579c4d3 Move class of matrix.api module to api sub package. 2023-03-02 17:32:47 +01:00
Benoit Marty
b8467e547c Split module matrix to matrix.api with interfaces and data classes and matrix.impl with Rust implementation. 2023-03-02 17:12:13 +01:00
Jorge Martin Espinosa
6677f80abe Store session data in a secure way (#98)
* Replace SessionData DataStore with an encrypted SQLite DB.

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-03-02 16:48:54 +01:00