Commit graph

154 commits

Author SHA1 Message Date
Benoit Marty
d5dfceded7 Battery optimization banner: update wording. 2025-06-12 17:40:38 +02:00
ganfra
abc5547aa3 Merge branch 'develop' into feature/fga/user_moderation_bottomsheet 2025-06-03 10:46:12 +02:00
Jorge Martin Espinosa
d5b97ed5af
Use Localazy's langAliases for Indonesian (#4801) 2025-06-02 12:05:55 +02:00
ganfra
2e1eb900a4 Merge branch 'develop' into feature/fga/user_moderation_bottomsheet 2025-05-23 17:28:48 +02:00
ganfra
b1441e1afd change (member moderation) : sync strings 2025-05-21 18:30:45 +02:00
Benoit Marty
150239bcd8
Merge on boarding module to login module (#4746)
* Move onboarding code to the login module.

* Remove OnBoardingEntryPoint, move the flow to LoginFlowNode

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-05-20 08:54:23 +02:00
ganfra
58d9b12ab3 change (member moderation) : extract in a separate module 2025-05-14 11:19:07 +02:00
ganfra
0b83e66733
Feature : Report room (#4654)
* feature (report room) : introduce all presentation classes.

* feature (report room) : branch entry point in the room list

* refactor (matrix ui) : move some code from appnav to matrix ui

* feature (report room) : add api on room

* feature (report room) : adjust ui

* feature (report room) : branch api

* feature (decline invite and block) : move things around and introduce presentation classes

* feature (decline invite and block) : continue to move things

* feature (report room) : remove reference to "conversation" for now

* feature (report room) : add report room action to room detail screen

* feature (report room) : enabled button state

* feature (report room) : improve code and reuse

* feature (report room) : add feature flag

* feature (report room) : change feature flag to static bool

* feature (report room) : add tests

* feature (report room) : fix ui with new api on ListItem

* feature (report room) : clean up and add more tests.

* Update screenshots

* feature (report room) : more test and fix issue

* feature (report room) : update strings

* feature (report room) : fix konsist preview

* feature (report room) : disable feature

* Update screenshots

* var -> val

* Improve preview of AcceptDeclineInviteView

* Improve preview consistency

* Add missing test on DismissErrorAndHideContent

* Update screenshots

* Add missing tests

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-05-02 12:25:19 +02:00
Benoit Marty
c7f0566dc1
Introduce PushHistoryService to store data about the received push (#4573)
* Introduce PushHistoryService to store data about the received push

Add a push database.

* Update screenshots

* Improve preview.

* Update screenshots

* Add missing test.

* Add test for PushHistoryView

* Fix configuration issue.

Was: w: /libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryPresenterTest.kt:35:27 Cannot access class 'PushProvider' in the expression type. While it may work, this case indicates a configuration mistake and can lead to avoidable compilation errors, so it may be forbidden soon. Check your module classpath for missing or conflicting dependencies.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-11 12:56:54 +02:00
renovate[bot]
03f4122b3f
fix(deps): update android.gradle.plugin to v8.9.1 (#4465)
* fix(deps): update android.gradle.plugin to v8.9.1

* Fix AAB issues and AGP deprecations

* Fix `importSupportedLocalesFromLocalazy` to format `en-US` locale properly

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-03-25 18:18:02 +01:00
Jorge Martin Espinosa
f73c0e42a4
Implement user verification (#4294)
* Add support for starting verification of a user

* Add support for replying to incoming user verification requests

* Add reset recovery key button and previews to `ChooseSelfVerificationModeView`

* Add 'Profile' item in room details screen

* Update screenshots

* Remove `showDeviceVerifiedScreen` parameter from `NavTarget.UseAnotherDevice`

* Allow exiting the FTUE flow, which will close the app. The previous state will be restored when the app is reopened.

* When outgoing verification fails, move to the `Canceled` state. Then, when resetting the state machine state also reset the verification service.

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-10 11:20:17 +01:00
ganfra
0d1a35970d
Merge pull request #4353 from element-hq/feature/fga/room_preview_invite_state
[Change] Invited state room preview
2025-03-04 16:45:50 +01:00
ganfra
6af226dc00 change(room directory) : move the the room directory entry from room list filter to start chat screen. 2025-03-04 10:56:16 +01:00
ganfra
e2116e76f2 change(invites) : move some strings to the invite module 2025-02-27 21:04:48 +01:00
ganfra
818af20f39 feat(join by alias) : use localazy strings 2025-02-25 15:55:42 +01:00
renovate[bot]
beffba11b6
fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25 (#4273)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25

* Adapt to SDK changes:

- Remove logic related to sliding sync proxy, leaving just the minimum needed to detect its usage on the current session data.
- Remove code associated with the opt-in migration to native sliding sync, since it's now mandatory.
- Remove toggle between proxy/native sliding sync.
- Some fixes to session verification API breaks.

* Update forced logout dialog message, remove `NativeSlidingSyncMigrationBanner`

* Update screenshots

* Update all strings

* Remove `SuccessfulLogoutPendingAction`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <android@element.io>
2025-02-18 18:07:47 +01:00
ganfra
a73bcb71d5 feature(room preview): Add option to forget room, improve the room preview screen for banned rooms.
Some internal refactoring was done too:
- Remove RoomInfo.isPublic to only use JoinRule.
- Also take into account restricted access rooms for previews.
2025-02-10 19:13:02 +01:00
Benoit Marty
9a255c5e31 Display a confirmation dialog before creating a DM. 2025-02-05 09:32:33 +01:00
ganfra
ba0a85703b feat(security&privacy) : update strings 2025-01-24 15:55:30 +01:00
Benoit Marty
f92ffbe0d3 Fix import of en-US translations. 2025-01-10 15:55:18 +01:00
Benoit Marty
97f3be3dc5 Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
Benoit Marty
da272ddb07 Implement month separator for the Gallery.
Improve day separator rendering in the timeline.
Use Today, Yesterday, and the name of the day if less than 7 days and do not render the year for the current year.
Improve date format for the media viewer.
Rework how date and time are computed.
ActionListView: Time can take more space, so update the layout.
2024-12-11 23:57:57 +01:00
Benoit Marty
3e1b1c29d1 Media Gallery 2024-12-09 16:48:48 +01:00
ganfra
e383c7f907 knock requests : use proper banner string resources 2024-12-09 11:01:42 +01:00
ganfra
be1a8a3d16 knock requests : fix test on room details view 2024-12-05 12:57:15 +01:00
ganfra
80f25e637a knock requests : cleaning up 2024-12-04 14:15:17 +01:00
Benoit Marty
64e75fb08b Update the strings for unsupported calls 2024-11-12 10:20:21 +01:00
ganfra
59168e4c05 create room : remove hardcoded strings and sync strings. 2024-11-04 16:25:14 +01:00
ganfra
98057c1c39
Merge pull request #3725 from element-hq/feature/fga/knock_request_to_join
Feature: knock request to join
2024-10-23 18:50:32 +02:00
ganfra
96b24c5299 knock : update strings 2024-10-22 16:22:07 +02:00
Benoit Marty
8efbd67eea Move strings with key starting by screen_room_member_details_ to the module :features:userprofile:shared 2024-10-22 10:18:44 +02:00
Benoit Marty
b87bec6228 Account deactivation. 2024-09-17 16:51:11 +02:00
Benoit Marty
39348d2e7e Account Creation using a WebView 2024-09-16 12:24:47 +02:00
Jorge Martin Espinosa
663362ac7f
Add forced logout flow when the proxy is no longer available (#3458)
* Add `MatrixClient.isSlidingSyncProxySupported` function

* Update localazy strings

* Modify `ErrorDialog` to have an `onSubmit` call, which will be used for the submit action.

Also make the title text optional and dismissing the dialog by tapping outside/going back configurable.

* Check if a forced migration to SSS is needed because the proxy is no longer available.

In that case, display the non-dismissable dialog and force the user to log out after enabling SSS.

* Enable native/simplified sliding sync by default.

* Refactor the login to make sure we:

1. Always try native/simplified sliding sync login first, if available.
2. Then, if it wasn't available or failed with an sliding sync not supported error, try with the proxy instead (either discovered proxy or forced custom one).

* Move logic to `LoggedInPresenter` and the UI to `LoggedInView`

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-09-16 09:13:02 +00:00
Jorge Martin Espinosa
67e262fdc8
Add banner for optional migration to simplified sliding sync (#3429)
* Add banner for optional migration to native sliding sync

- Add `MatrixClient.isNativeSlidingSyncSupported()` and `MatrixClient.isUsingNativeSlidingSync` to check whether the home server supports native sliding sync and we're already using it.
- Add `NativeSlidingSyncMigrationBanner` composable to the `RoomList` screen when the home server supports native sliding sync but the current session is not using it.
- Add an extra logout successful action to the logout flow, create `EnableNativeSlidingSyncUseCase` so it can be used there.

* Update screenshots

* Make sure the sliding sync migration banner has lower priority than the encryption setup ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-09-09 18:13:19 +02:00
Benoit Marty
66aa78d822 Migrate license to AGPL - sh files. 2024-09-06 17:50:45 +02:00
Benoit Marty
ea44bb55ba Add missing license header on Python files. 2024-09-06 17:25:05 +02:00
Benoit Marty
31d0621fa1
Merge pull request #3360 from element-hq/feature/bma/sessionVerificationBannerIsBack
Add banner entry point to set up recovery
2024-08-30 16:56:11 +02:00
Benoit Marty
ad8e8305eb Add banner entry point to set up recovery 2024-08-29 18:34:55 +02:00
Benoit Marty
f4beddef99 Add a way to sign out when the user is asked to verify the session. 2024-08-29 15:56:08 +02:00
Jorge Martín
8a1e333aa7 Fix most review comments 2024-08-14 16:53:50 +02:00
Jorge Martin Espinosa
b741c32e91
Add full screen intent permissions banner (#3024)
* Add full screen intent permissions banner, creating `:libraries:fullscreenintent` modules.
* Add it to notification settings too:
    - Create `libraries:fullscreenintent` modules for the permission presenter and associated data.
    - Add the presenter and states to `NotificationSettingsPresenter` and `NotificationSettingsView`.
* Use the right API to check for full screen intent permissions.
- Use the right package name for `:libraries:permission` contents.
* Fix broken tests (flaky?)
* Ignore coverage verification for fake and small presenters

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-06-18 07:41:10 +00:00
Benoit Marty
89e0d94d86 Fix warning: more redirection to end. 2024-06-11 17:58:24 +02:00
Benoit Marty
756905b9cd
Merge pull request #3000 from element-hq/sync-localazy
Sync Strings
2024-06-11 15:16:55 +02:00
Benoit Marty
46ab71f23b Ignore "Element" in screen_incoming_call_subtitle_android strings 2024-06-11 14:39:37 +02:00
Benoit Marty
fde7180600 Ignore errors when moving files from values-id to values-in 2024-06-11 14:39:09 +02:00
Jorge Martin Espinosa
30a1367714
Element Call ringing notifications (#2978)
- Add `ActiveCallManager` to handle incoming and ongoing calls.
- Add ringing call notifications with full screen intents and missed call ones as part of the 'conversation' notifications.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-06-10 11:51:19 +02:00
Benoit Marty
aec579d757 Remove strings screen_qr_code_login_.* from the ftue module. 2024-06-04 09:42:00 +02:00
Jorge Martin Espinosa
c8bd04ceb1
Sign in with QR code (#2793)
* Add QR code login.
* Add FF to disable it in release mode.
* Force portrait orientation on the login flow.
* Create `NumberedList` UI components.
* Improve camera permission dialog.
* Make nodes in qrcode feature use `QrCodeLoginScope` instead of `AppScope`
* Bump SDK version.
* Fix maestro tests

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-31 14:38:27 +02:00
Benoit Marty
b3e0f6e843 Translations: pt -> pt-rBR 2024-05-27 14:51:32 +02:00