Commit graph

90 commits

Author SHA1 Message Date
renovate[bot]
8a6020c5a6
Update android.gradle.plugin to v8.3.1 (#2471)
* Update android.gradle.plugin to v8.3.1

* Fix AGP update

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-03-21 09:47:17 +01:00
Jorge Martin Espinosa
810c0ed8f3
Test and verify coverage only on debug variant (#2556)
* Test and verify coverage only on debug variant

* Set files to upload

* Fix also nightlyReports flow
2024-03-15 15:52:33 +01:00
renovate[bot]
f865f301d5
Update wysiwyg to v2.32.0 (#2531)
* Update wysiwyg to v2.32.0

* Bump min global coverage value to 70

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-03-12 12:19:38 +01:00
Benoit Marty
99773bc7e0 Kover: ignore io.element.android.features.leaveroom.fake.FakeLeaveRoomPresenter 2024-02-19 13:42:15 +01:00
Jorge Martín
f582128250 Remove Compose Foundation version pinning workaround 2024-02-01 09:09:13 +01:00
Benoit Marty
cccfdfbcc7 Restore branch and git sha, to use it in logs and in rageshakes.
Remove quite useless `gitRevisionDate`.
2024-01-25 14:16:21 +01:00
Jorge Martin Espinosa
56990e5e5b
Upgrade Material3 Compose to 1.2.0-beta02 (#2247)
* Upgrade Material3 Compose to `1.2.0-beta02`.

There is also a constraint on a transitive Compose Foundation dependency version (1.6.0-beta02) that fixes the timeline scrolling issue.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-18 08:49:55 +01:00
Benoit Marty
31fe516a49 Ensure that FDroid build will not include Firebase push provider.
`allLibrariesImpl()` is also used by the midule uitest, and in this case `gplayImplementation` cannot be found. Since the push provider modules do not contain any ui, it's fine to move the dependency declaration to the app module.
2024-01-11 21:42:04 +01:00
Benoit Marty
fa05b18d32 Create gplay and fdroid variant 2024-01-11 21:42:04 +01:00
Jorge Martin Espinosa
f281c6c365
Don't apply Kover to projects with AAR libraries (#2211)
* Don't apply Kover to projects with AAR libraries

* Move the Kover configuration to the `plugins` project
2024-01-11 21:16:31 +01:00
Jorge Martin Espinosa
7fdba39d6d
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
5e5662f194 Extract RoomList select to its own module 2023-12-07 18:36:15 +01:00
Jorge Martin Espinosa
ab8402a4dc
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
087d2728d5
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
67d58bac35 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
9807ebf649 Secure backup 2023-10-27 12:18:40 +02:00
Marco Romano
b5586cb7d8
Move MediaPlayer from messages module to new dedicated library module (#1654) 2023-10-27 09:58:17 +02:00
ganfra
5d98f645d2 Merge branch 'develop' into feature/fga/pin_settings 2023-10-26 11:13:52 +02:00
ganfra
6170dd45bc Fix dagger compilation 2023-10-23 20:55:58 +02:00
jonnyandrew
b476654489
Record and send voice messages (#1596)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-23 17:28:00 +00:00
Marco Romano
79d2941fe4
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
2d9cdd1acf Add Advanced Settings screen in the preferences. 2023-09-14 19:46:18 +02:00
jonnyandrew
f214493c9d
[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
c4cf6c8170
Merge branch 'develop' into renovate/android.gradle.plugin 2023-08-17 14:52:47 +02:00
Jorge Martin Espinosa
0324719606
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
52cfd93427 Fix plugins 2023-07-26 07:48:48 +02:00
Benoit Marty
b99b4aa9ae Include Sentry module. 2023-07-21 19:19:59 +02:00
Benoit Marty
82258f12ba Ensure the application react correctly if analytics is disabled at compilation time. 2023-07-21 19:19:17 +02:00
Jorge Martin Espinosa
cf2723ac7f [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
7356898e00 Remove internal state machine library 2023-06-09 17:00:11 +02:00
Jorge Martin Espinosa
e376c1be82 [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
f534ecda96 Init analytics modules (#350) 2023-06-05 13:11:34 +00: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
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
Benoit Marty
80b656a9c5 Use gradle logger to filter out when running with only warning logs. 2023-05-25 12:03:51 +02:00
Benoit Marty
fdb1ebf0ce Sort by filename for easier search in the logs. 2023-05-25 11:51:46 +02:00
Chris Smith
198d6d4c56 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
848f1cb988 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
457b83184a 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
5eaa40a14b [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
eeca1c9ee3 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
638b45930e Merge pull request #334 from vector-im/feature/fga/feature_flag
Feature/fga/feature flag
2023-04-18 15:24:04 +02:00
ganfra
a11b407038 FeatureFlag: first implementation 2023-04-17 19:44:29 +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
287fca5438 UnifiedPush WIP 2023-04-12 09:49:23 +02:00
Benoit Marty
7333995630 Split push module into several modules: Firebase, UnifiedPush, store 2023-04-12 09:48:56 +02:00
Benoit Marty
d8b37d6ead Add permission modules 2023-04-05 16:25:27 +02:00
Jorge Martin Espinosa
610e4aa8b6 Revert "Update Gradle and AGP to v8.0 (#283)" (#295)
This reverts commit cda0606a0d.
2023-04-04 14:44:01 +00:00
Jorge Martin Espinosa
cda0606a0d 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
8a41f60585 Merge branch 'develop' into feature/fga/module_templates 2023-03-27 17:21:45 +02:00