Commit Graph

855 Commits

Author SHA1 Message Date
Benoit Marty
23adc32cd2 Fix an issue on Avatar when font scale is not 1f. 2023-06-27 19:23:37 +02:00
Benoit Marty
d6f2d7a5d3 Rework AvatarSize.
Remove default value for AvatarSize, it has to be explicitely provided.
2023-06-27 19:23:37 +02:00
Benoit Marty
82e566175a 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
02dc447624 [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
Benoit Marty
ed264f23b7 StringR -> CommonStrings 2023-06-27 16:11:32 +02:00
Benoit Marty
5f16297939 Merge branch 'develop' into feature/bma/removeOldResources 2023-06-27 16:09:30 +02:00
Benoit Marty
d782162f27 Merge pull request #684 from vector-im/feature/bma/stringR
Quick PR to introduce `CommonStrings` type alias
2023-06-27 16:00:31 +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
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
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]
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
Marco Romano
ffc9d1e82e Refine handleSnackbarMessage API (#676)
As per our offline convos during a PR review.
2023-06-26 16:29:50 +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
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
32ddc7e6f7 Ensure all file about sqlite are deleted. 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
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
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
Benoit Marty
ac60ef0cbe Move FileSizeFormatter to a new module for injectable Android utilities. 2023-06-26 11:06:36 +02:00
Benoit Marty
5d8adb25ae Display cache size in the developer settings (#643) 2023-06-26 11:06:36 +02:00
Benoit Marty
bf80c251aa Add clear cache action in the developer settings (#643) 2023-06-26 11:06:36 +02:00
Benoit Marty
ee033a2aa4 Improve PreferenceText rendering, in particular center the test on the right vertically, add padding in add more previews. 2023-06-26 11:06:36 +02:00
bmarty
9c5c578c67 Sync Strings from Localazy 2023-06-26 00:10:53 +00:00
ganfra
6489d4bbfd Merge pull request #667 from vector-im/update-rust-sdk-0.1.23
Update rust sdk 0.1.23
2023-06-23 17:40:23 +02:00
ganfra
d85ef79f20 Rust sdk update: make the project compiling 2023-06-23 17:22:08 +02:00
Jorge Martin Espinosa
95f65e2031 [Message Actions] Copy events to clipboard (#665)
* Add `Copy` action for text events

* Remove 'Copy' action from the list for non-text events

* Use `@ContributesBinding` to inject `AndroidClipboardHelper`.
2023-06-23 14:39:07 +00:00
Jorge Martin Espinosa
bdb1841e44 [Message Actions] Report messages (#642)
* Add report messages feature

* Try to improve how snackbars are delivered

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-23 10:44:47 +02:00
Marco Romano
898985cb9b Expose new windowInsets param from ModalBottomSheet (#662)
Part of new public API in compose.material3:1.1.1
2023-06-23 09:57:21 +02:00
Jorge Martin Espinosa
de7bbbd5cf [Message Actions] Forward messages (#635)
* Add forwarding messages base

* Make forwarding single-selection

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-22 13:27:59 +02:00
ganfra
0d0a5571af Rust sdk update: make the app compile 2023-06-22 09:50:17 +02:00
ganfra
b3e11d184a CanSendEvent default to true and branch refresh mechanism... 2023-06-21 17:43:08 +02:00
Benoit Marty
4b55641aae Merge pull request #631 from vector-im/feature/bma/sendPermission
Take into acount send permission (power level)
2023-06-21 11:35:33 +02:00
Benoit Marty
02c56df991 Extract getCanSendEvent to the matrixui module, rename to canSendEventAsState and use produceState. 2023-06-21 10:57:55 +02:00
Benoit Marty
02aee0fe15 Merge pull request #626 from vector-im/feature/bma/sonar
Sonar
2023-06-21 10:41:26 +02:00
Jorge Martin Espinosa
ec9f0e2869 Set max lines to 2 in replies for composer (#645)
* Set `maxLines = 2` for the composer message preview in replies

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-20 17:07:53 +02:00
ganfra
c3b2db47bd Merge pull request #617 from vector-im/feature/fga/fix_media_pre_processing
Feature/fga/fix media pre processing
2023-06-20 16:17:50 +02:00
Benoit Marty
7f34ad73a0 Merge pull request #628 from rom4nik/room-regex-dot
Add '.' to MATRIX_ROOM_IDENTIFIER_REGEX
2023-06-19 14:50:07 +02:00
github-actions[bot]
3f7738c001 Sync Strings (#630)
* Sync Strings from Localazy

* Update strings, remove broken German translation

* Update screenshots

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-19 11:18:01 +00:00
Benoit Marty
dfcbb33c0a Display a banner instead of the composer when user cannot post message to a room (#602) 2023-06-19 11:52:34 +02:00