Commit graph

80 commits

Author SHA1 Message Date
Jorge Martin Espinosa
4f296ffb49 Disable vector XML rasterisation on API 23 (#2128)
* Disable vector XML rasterisation on API 23

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-12-29 11:41:08 +00:00
Benoit Marty
0b438b5b5c Extract RoomList select to its own module 2023-12-07 18:36:15 +01:00
Jorge Martin Espinosa
bbc4d18a9d Open room member avatar in a media viewer (#1911)
* Open room member avatar in viewer.

The `MediaViewer` was extracted to its own library module.

* Update screenshots

* Restore KSP processor in `:libraries:mediaviewer:api`, this should generate Showkase components again.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-28 17:39:41 +00:00
Jorge Martin Espinosa
a8b85fb4e6 Extract compound tokens and theming to compound-android library (#1888)
* Replace tokens & icons with the external Compound ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-27 10:30:07 +01:00
Benoit Marty
a9995886c0 Move remaining hard-coded dependency to Gradle catalog. We had 2 different version of material3 library. 2023-11-10 16:56:04 +01:00
Benoit Marty
bb55a5676c Secure backup 2023-10-27 12:18:40 +02:00
Marco Romano
eb223deba1 Move MediaPlayer from messages module to new dedicated library module (#1654) 2023-10-27 09:58:17 +02:00
ganfra
fae051ef82 Merge branch 'develop' into feature/fga/pin_settings 2023-10-26 11:13:52 +02:00
ganfra
cf4ac261a9 Fix dagger compilation 2023-10-23 20:55:58 +02:00
jonnyandrew
5c582bba1b Record and send voice messages (#1596)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-23 17:28:00 +00:00
Marco Romano
fb02f698d7 Include desugaring lib also in library modules (#1604)
## Type of change

- [ ] Feature
- [ ] Bugfix
- [x] Technical
- [ ] Other :

## Content

Includes the `coreLibraryDesugaring(libs.android.desugar)` dependency in all modules which use one of our gradle plugins.

## Motivation and context

Right now desugaring is enabled also in library modules but the desugar dependency is not included in those.
This causes some unwanted side effects such as being unable to run compose previews in an emu.

This change will also include the desugar dependency in those libraries.
2023-10-19 09:00:32 +00:00
Benoit Marty
7091ad2e01 Add Advanced Settings screen in the preferences. 2023-09-14 19:46:18 +02:00
jonnyandrew
11c1fca92e [Rich text editor] Integrate rich text editor library (#1172)
* Integrate rich text editor

* Also increase swapfile size in test CI

Fixes issue where screenshot tests are terminated due to lack of CI
resources.

See https://github.com/actions/runner-images/discussions/7188#discussioncomment-6750749

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-09-07 15:21:29 +00:00
Marco Romano
d5364593d6 Merge branch 'develop' into renovate/android.gradle.plugin 2023-08-17 14:52:47 +02:00
Jorge Martin Espinosa
e3cfbc113b Upgrade compose-material3 to 1.2.0-alpha05 version (#1011)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>

Also upgrade compileSdk to 34.
2023-08-17 14:20:54 +02:00
Jorge Martín
2363430329 Fix plugins 2023-07-26 07:48:48 +02:00
Benoit Marty
a774d96585 Include Sentry module. 2023-07-21 19:19:59 +02:00
Benoit Marty
c5c130ab67 Ensure the application react correctly if analytics is disabled at compilation time. 2023-07-21 19:19:17 +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
ganfra
2a15681151 Remove internal state machine library 2023-06-09 17:00:11 +02:00
Jorge Martin Espinosa
595fbda220 [Message actions] New UI for message composer and editing (#526)
* Add UI for edit composer mode

* Remove leftover code from the RTE implementation

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-07 13:06:19 +02:00
Yoan Pintas
d2263372d2 Init analytics modules (#350) 2023-06-05 13:11:34 +00:00
Benoit Marty
3f1433f24c Merge pull request #443 from vector-im/feature/bma/timelineStateEventFormatting
Timeline state event formatting
2023-05-26 10:43:10 +02:00
Benoit Marty
70df081840 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
Benoit Marty
14366e18e7 Use gradle logger to filter out when running with only warning logs. 2023-05-25 12:03:51 +02:00
Benoit Marty
981632b7a4 Sort by filename for easier search in the logs. 2023-05-25 11:51:46 +02:00
Chris Smith
463b9e0642 Invite users to existing rooms (#441)
Invite users to existing rooms

Scope:

- Allow inviting from the room detail screen and the member list
- Invite option is only shown if the user has the correct power level
- Search flow the same as creating a new room, allowing multi-select
- Existing room members/invitees are disabled with a custom caption
- Sending is asynchronous, an error dialog will appear wherever the
  user is if necessary

Closes #245
2023-05-23 09:23:24 +00: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
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
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
f98fe8e52c Merge pull request #334 from vector-im/feature/fga/feature_flag
Feature/fga/feature flag
2023-04-18 15:24:04 +02:00
ganfra
279185b175 FeatureFlag: first implementation 2023-04-17 19:44:29 +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
Benoit Marty
95bafe4059 UnifiedPush WIP 2023-04-12 09:49:23 +02:00
Benoit Marty
219b97eea7 Split push module into several modules: Firebase, UnifiedPush, store 2023-04-12 09:48:56 +02:00
Benoit Marty
500d4801a7 Add permission modules 2023-04-05 16:25:27 +02:00
Jorge Martin Espinosa
4154a96b54 Revert "Update Gradle and AGP to v8.0 (#283)" (#295)
This reverts commit 4e085efcf4.
2023-04-04 14:44:01 +00:00
Jorge Martin Espinosa
4e085efcf4 Update Gradle and AGP to v8.0 (#283)
* Update dependency gradle to v8

* Handle upgrading Gradle to v8.0.2

* Update AGP to 8.0.0-RC01

* Try to set JAVA_HOME to JDK17

* Update lint version.

* Use right JDK for dependency analysis, replace deprecated env var

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 18:02:34 +02:00
ganfra
dde0f3480f Merge branch 'develop' into feature/fga/module_templates 2023-03-27 17:21:45 +02:00
ganfra
d60a653d83 Add utility methods for automatically including api/impl feature modules 2023-03-23 18:06:32 +01:00
Jorge Martin Espinosa
4a1a338e07 Move StateMachine to its own module. (#257) 2023-03-23 16:49:15 +00:00
Maxime NATUREL
f950729d17 Use new selectusers module 2023-03-22 12:25:58 +01:00
Benoit Marty
f4661781b9 Merge pull request #224 from vector-im/bma/analytics
Add utility modules
2023-03-21 13:18:10 +01:00
Benoit Marty
33c02f054e Merge branch 'develop' into feature/bma/networkModule 2023-03-17 13:39:01 +01:00
Jorge Martin Espinosa
9639d62bb3 Add Session Verification flow (#197) 2023-03-17 10:07:19 +01:00
Benoit Marty
69c3c8136f Add :services:toolbox modules. 2023-03-17 10:05:40 +01:00
Benoit Marty
5421957b8e Add :services:analytics modules. For now import the current plan.
This will allow to import existing class from EA and not break compatibility with existing analytics call.
2023-03-17 10:05:40 +01:00
Benoit Marty
c9c1a77eab Add :libraries:network module 2023-03-16 15:31:57 +01:00
Benoit Marty
dc7a1132b8 Create allServicesImpl() 2023-03-16 11:30:09 +01:00