Commit Graph

44 Commits

Author SHA1 Message Date
Benoit Marty
05fc76822a 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
6fc572d48e Ensure that the SDK is syncing during an incoming call so that the application can detect if the call has been answered on another session.
This is dealing with the case the application is not in foreground.
2024-11-22 19:46:57 +01:00
Benoit Marty
844e0216bd Properly unregister from the ntfy app when the user logs out. 2024-11-15 12:43:57 +01:00
Jorge Martin Espinosa
2efdb3ae45 Centralise the DI code generation logic (#3562)
* Create Anvil extension helper

* Use the helper everywhere
2024-09-30 12:20:28 +00:00
Benoit Marty
2b016227e9 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
ganfra
0969470066 tests : refactor some classes 2024-07-31 21:14:29 +02:00
ganfra
ca18c83d53 Sync on push : call room.subscribeToSync when notifiable event is received 2024-07-30 17:38:51 +02:00
Jorge Martin Espinosa
6f8de0b2c6 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
625c8aa27e Add test on NotificationBroadcastReceiverHandler 2024-06-05 14:59:51 +02:00
Jorge Martin Espinosa
801f0b955d Notifications: simplify the flow by removing persistence (#2924)
* Notifications: simplify the flow by removing persistence. 
* Bump of minSdk to `24` (Android 7).
* Add migration to remove `notification.bin` file
2024-05-29 08:03:23 +00:00
Benoit Marty
84c8a8577b Add test on DefaultPushService 2024-05-22 14:29:35 +02:00
Benoit Marty
7945297a28 Create dedicated module for notification troubleshoot. 2024-04-02 18:12:36 +02:00
Benoit Marty
8588ce7a72 Troubleshoot notifications screen 2024-04-02 16:15:00 +02:00
Benoit Marty
9605a783a2 Use new retrofit bom and change Maven coordinates of kotlinx-serialization 2024-03-25 09:56:30 +01:00
Benoit Marty
47dc03082e Add test for DefaultNotificationDrawerManager 2023-11-27 16:44:47 +01:00
Benoit Marty
a8e640d1dd Add coverage for NotificationBitmapLoader 2023-11-27 16:44:47 +01:00
Benoit Marty
fc7898ca36 Add tests for NotifiableEventResolver 2023-11-23 17:36:23 +01:00
Benoit Marty
9746df6797 Move PushConfig to the appconfig module. 2023-11-14 10:26:16 +01:00
Benoit Marty
79806852ca Move Knit to Gradle catalog and use alias(libs.plugins.kotlin.serialization). Fix issue with JNA 2023-11-13 09:58:00 +01:00
Benoit Marty
765ede0093 Replace hard-coded value by value from gradle datalog 2023-11-10 16:25:58 +01:00
renovate[bot]
dd57197f32 Update kotlin (#1697)
* Update kotlin

* Lower Sonar RAM usage, remove redundant `Dkotlin.daemon.jvm.options`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-11-08 12:58:14 +00:00
Jorge Martin Espinosa
a06bea4d71 Element Call SPA integration (#1283)
* Integrate Element Call into EX, being able to open its URLs and handle the call in-app.
* Add custom scheme support with format `element:call?url=...`.
* Update androix.webkit
* Silence the foreground service notification.
- Allow foreground service tap action to re-open the ongoing call.
- Unify notification small icons in different modules using a vector one.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-09-15 16:39:44 +02:00
renovate[bot]
78eb7aea81 Update kotlin to 1.9.10 (#1123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-30 08:28:06 +02:00
renovate[bot]
541562ee61 Update kotlin - TO BE MERGED AFTER THE RELEASE (#789)
* Update kotlin

* Update kotlinc.xml

* Update ksp

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Romano <marcor@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-08-17 08:58:10 +00:00
Benoit Marty
fb587d279c Stop using deprecated LocalBroadcastManager. We will implement the code when we will work on the troubleshoot notification screen. 2023-07-20 17:39:55 +02:00
Jorge Martin Espinosa
e61af2eb7d Fix: make sure we ignore notifications for open rooms (#867)
* Make sure we ignore notifications for open rooms
- Listen to process lifecycle changes in `AppForegroundStateService`. Use initializers to reliable create it.
- Merge `AppNavigationState` with `AppForegroundState`. Renamed the previous `AppNavigationState` to `NavigationState`, created a new `AppNavigationState` which contains both the navigation state and the foreground state.
2023-07-17 17:02:06 +02:00
Jorge Martin Espinosa
9170c5eb71 Display room invitation notification (#735)
* Notifications: Add some extra mappings so we keep the original contents and can pass it later to an UI layer

* Fix notifications not appearing for a room if the app was on that room when it went to background.

* Modernize how we create spannable strings for notifications, remove unneeded dependency

* Remove actions from invite notifications temporarily

* Add `NotificationDrawerManager` interface to be able to clear membership notifications when accepting or rejecting a room invite

* Fix tests

* Add comment to clarify some weird behaviours

* Address review comments

* Set circle shape for `largeBitmap` in message notifications

* Fix no avatar in DM rooms

* Fix rebase issues

* Add invite list pending intent:

- Refactor pending intents.
- Make `DeepLinkData` a sealed interface.
- Fix and add tests.

* Rename `navigate__` functions to `attach__`

* Add an extra test case for the `InviteList` deep link

* Address most review comments.

* Fix rebase issue

* Add fallback notification type, allow dismissing invite notifications.

Fallback notifications have a different underlying type and can be dismissed at will.

* Fix tests
2023-07-10 14:34:58 +02:00
renovate[bot]
016c27450a Update kotlin 2023-06-28 22:23:44 +00:00
Benoit Marty
99204ce9e6 Fix compilation issue after rebase. 2023-06-01 17:02:48 +02:00
Benoit Marty
afa06fb03e Notifications: render room and user icons. 2023-06-01 12:23:53 +02:00
renovate[bot]
87e57f5b51 Update kotlin 2023-05-03 17:40:41 +00:00
renovate[bot]
9f88cb4886 Update kotlin 2023-04-21 16:29:06 +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
245c46c8b8 Cleanup 2023-04-12 10:06:11 +02:00
Benoit Marty
219b97eea7 Split push module into several modules: Firebase, UnifiedPush, store 2023-04-12 09:48:56 +02:00
Benoit Marty
bec41f1c6a Move dependency declaration to the gradle catalog. 2023-04-12 09:41:22 +02:00
Benoit Marty
68769a21e2 Cleanup up string for push and notification (before integrating to Localazy) 2023-04-05 16:59:17 +02:00
Benoit Marty
7e7aca4a53 Add some tests (mainly imported from EA). Also change type from String to SessionId, RoomId, etc. 2023-04-05 16:59:17 +02:00
Benoit Marty
c0ef4804a1 Persist notification data. Note that it will break the key storage for the session database. 2023-04-05 16:59:17 +02:00
Benoit Marty
0c0f7dff40 Making progress on notification for multi account. 2023-04-05 16:59:17 +02:00
Benoit Marty
500d4801a7 Add permission modules 2023-04-05 16:25:27 +02:00
Benoit Marty
cb0cc70102 Fix compilation after rebase 2023-04-05 16:18:44 +02:00
Benoit Marty
bc7fb0a2bb Push: be able to test Push
Create `:libraries:network`
2023-04-05 16:18:44 +02:00
Benoit Marty
64f4740029 Import some stuff about Push and notification from Element Android - WIP 2023-04-05 16:18:44 +02:00