Commit Graph

9919 Commits

Author SHA1 Message Date
ElementBot
2c76a9e288 Update screenshots 2023-06-27 13:54:18 +00:00
Chris Smith
0eb195560b Danger: remove "add screenshots" warning (#691)
We have screenshot tests that basically negate the need for this,
and when we're doing more complicated things we tend to use
videos anyway which aren't caught by this check.
2023-06-27 15:37:44 +02:00
ganfra
f04229d20f Fix some code quality/formatting 2023-06-27 14:43:05 +02:00
ganfra
3d872ec0e2 RoomList: fix tests and sample 2023-06-27 14:06:58 +02:00
Benoit Marty
77e033372f More cleanup 2023-06-27 13:38:55 +02:00
Marco Romano
2a82e1b4e4 Async API improvements "v2" (#672)
* Async API improvements "v2"

**NB: This PR actually changes only 3 files in `libraries/architecture/`. All the other changes are automated refactors to fix the calling code.**

This is a proposal for improvements to our `Async` type as discussed in: https://github.com/vector-im/element-x-android/pull/598/files#r1230664392 and in other chats.

Please bear in mind it is just a proposal, I'd love to hear your feedback about it, especially when it comes to naming: I've tried to make parameter and function names use a terminology similar to what we find in the Kotlin stdlib and its `Result` type.

I'm inclined to like more the non-extension flavours of the new `run*` APIs, though I'd also like your feedback about what API shape you prefer.

### Summary of the changes:
#### Functional
- Adds `exceptionOrNull()` API to complement the existing `dataOrNull()` API.
- Adds `isFailure()`, `isLoading()`, `isSuccess()` and `isUninitialized()` courtesy APIs.
- Renames `executeResult()` to `runUpdatingState()`:
	- Becomes the base API to which all the other similarly named APIs call into.
	- Makes it inline.
	- Adds contract.
	- Passes over any `prevData` to newre Async states.
	- Passes through the `block`s return value.
	- Adds unit tests.
- Renames `execute` to `runCatchingUpdatingState()` and makes it just call into `runUpdatingState()`
- Adds extension function overloads to the `run*` functions to accept `MutableState` as receiver

#### Cosmetics
- Reorders classes and methods in alphabetic order.
- Reorder parameter names to mimic conventions in Kotlin stdlib.
- Adds docstrings where useful.

* Use `fold()`

* rename pop to popFirst

* Add docstrings

* Please Detekt

* Rename exception to error.

* Please detekt

* Update existing usages.
2023-06-27 13:37:23 +02:00
Benoit Marty
4cb9843415 Now that the composer as been removed, we do not need element resource module anymore. 2023-06-27 13:34:55 +02:00
ganfra
dc06b5266f RoomList: branch invites 2023-06-27 12:52:06 +02:00
Benoit Marty
6eb02e8c97 Fix compilation issue. 2023-06-27 11:29:45 +02:00
ganfra
2a24d0196e Merge branch 'develop' into feature/fga/room_list_api 2023-06-27 10:47:50 +02:00
ganfra
c64608e03e RoomList/Timeline: makes sure initial values are set before computing diff/update 2023-06-27 10:47:14 +02:00
Benoit Marty
fd1352de5f Merge pull request #680 from vector-im/renovate/org.matrix.rustcomponents
Update dependency org.matrix.rustcomponents:sdk-android to v0.1.25
2023-06-27 10:37:05 +02:00
Benoit Marty
1a216d5a57 Update check rule. 2023-06-27 09:55:14 +02:00
Benoit Marty
287328f7df More cleanup 2023-06-27 09:51:33 +02:00
Benoit Marty
4a8c49fa28 Use CommonStrings everywhere 2023-06-27 09:45:00 +02:00
Benoit Marty
90c39f5253 Introduce handy aliases to avoid writing this: import io.element.android.libraries.ui.strings.R as StringR 2023-06-27 09:45:00 +02:00
Marco Romano
3eb6a4bc5a Set up SDK & reusable map view component (#476)
Adds `libraries/map` which contains some initial building blocks that will be used by the location sharing feature.

Ref: https://github.com/vector-im/element-meta/issues/1684
2023-06-27 07:23:00 +00:00
Marco Romano
8101f42979 Add sendLocation API to Rust Room (#681)
Will be used by the location sharing feature.
2023-06-27 09:12:17 +02:00
renovate[bot]
8bd291ecd7 Update dependency app.cash.molecule:molecule-runtime to v0.10.0 (#679)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 08:36:25 +02:00
renovate[bot]
b0c468ec8d Update dependency org.matrix.rustcomponents:sdk-android to v0.1.25 2023-06-27 06:30:11 +00:00
renovate[bot]
ff135352d8 Update dependency org.matrix.rustcomponents:sdk-android to v0.1.24 (#675)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.24

* Add new `filterByPushRules`.
Only existing usage of this API will set this param to `true` in order to not change the current behavior.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Romano <marcor@element.io>
2023-06-27 08:29:36 +02:00
ganfra
208850c0f5 RoomList: fix small error in update processing 2023-06-26 22:58:54 +02:00
ganfra
7ba14b3014 RoomList/Timeline : Add Buffer(Unlimited) to avoid blocking rust listener thread 2023-06-26 22:32:59 +02:00
ganfra
5090bff06a RoomList: update LoadingState and fix a crash 2023-06-26 22:30:12 +02:00
ganfra
2bd671656e Merge pull request #674 from vector-im/renovate/appyx
Update appyx to v1.3.0
2023-06-26 21:31:06 +02:00
ganfra
e2772fb292 Timeline: refactor a bit 2023-06-26 18:18:48 +02:00
ganfra
e5c86675a4 RoomList: more rework on RoomSummaryDataSource 2023-06-26 18:02:53 +02:00
Marco Romano
ffc9d1e82e Refine handleSnackbarMessage API (#676)
As per our offline convos during a PR review.
2023-06-26 16:29:50 +02:00
renovate[bot]
a42b8caab3 Update appyx to v1.3.0 2023-06-26 10:07:03 +00:00
Benoit Marty
52fd72d24b Merge pull request #648 from vector-im/feature/bma/clearCache
Developer option to clear cache
2023-06-26 12:06:26 +02:00
Benoit Marty
a226580c8c Move FileSizeFormatter to module :libraries:androidutils 2023-06-26 11:14:53 +02:00
Benoit Marty
f1019f3444 Move cache management to a dedicated class and in the setting module, for clarity. 2023-06-26 11:07:53 +02:00
Benoit Marty
963c4a5f40 Improve readability 2023-06-26 11:07:53 +02:00
Benoit Marty
375ac17e14 Move content to to File.kt. Also remove deleteAllFiles, we have deleteRecursively now. 2023-06-26 11:07:53 +02:00
Benoit Marty
b563b1ec95 Idx -> Index 2023-06-26 11:07:53 +02:00
Benoit Marty
fc61d452c6 Fix typo in comment. 2023-06-26 11:07:53 +02:00
Benoit Marty
6591fbec17 Use operator invoke. 2023-06-26 11:07:53 +02:00
Benoit Marty
cd3b653e1d Merge dict. 2023-06-26 11:07:53 +02:00
Benoit Marty
32ddc7e6f7 Ensure all file about sqlite are deleted. 2023-06-26 11:07:53 +02:00
Benoit Marty
231d4b1577 Fix compilation issue in Fake class. 2023-06-26 11:07:53 +02:00
Benoit Marty
89d4969833 Implement missing methods in Fake class. 2023-06-26 11:07:53 +02:00
Benoit Marty
0ee2861452 Clear cache: clear Coil and OkHttpClient cache. 2023-06-26 11:07:53 +02:00
Benoit Marty
12e54ac080 Lazy usage of OkHttpClient 2023-06-26 11:07:53 +02:00
Benoit Marty
5fe186f9de var -> val 2023-06-26 11:07:53 +02:00
Benoit Marty
1c06943530 Close the client before removing its data. Probably safer. 2023-06-26 11:07:22 +02:00
Benoit Marty
58860a9440 Close the client before deleting data, and ensure the app is restarted, using a cache Index. 2023-06-26 11:07:22 +02:00
Benoit Marty
4b8d11b7e4 Ignore typo 2023-06-26 11:07:22 +02:00
ElementBot
001e724a04 Update screenshots 2023-06-26 11:07:22 +02:00
Benoit Marty
df4bc3d7ce Improve rendering of cache size (and fix compilation issue) 2023-06-26 11:07:22 +02:00
Benoit Marty
2809d6fc2f Improve FileSizeFormatter.format API. 2023-06-26 11:06:36 +02:00