* Sync Strings from Localazy
* Fix strings usage after some were moved
* Fix Norwegian string that was causing lint to fail
* Update screenshots
---------
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
* 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>
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.4.8
* Fix API breaks:
- Add `ReplyParameters` class and parameters to send functions.
- Remove outdated OIDC related values.
- Stop pre-processing the timeline to add the timeline start item, this is already done by the SDK.
* Use the new function to reply to messages in a quick reply from a notification, however:
1. We don't have the thread id value at the moment since the SDK does not provide it yet.
2. The replied to event id wasn't being passed from the notification info.
* Remove also timeline start virtual item for DMs, since this wasn't present before either
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
* Add `WakeLock` to dismiss ringing call screen when call is cancelled
We had already some checks in place to automatically cancel a ringing call notification/screen when the call was no longer active, but the `RoomInfo` updates weren't being processed because the app was 'paused'.
The partial wakelock should ensure these room info updates are handled.
* Add mutual exclusion to `ActiveCallManager` methods to improve thread safety
Breaking changes addressed:
* Make `MatrixClient.getNotificationSettings()` async, cache its result.
* Use `RoomInfo` for accessing the updated room's info.
* Refactor `MatrixRoom` so it always receives an initial `MatrixRoomInfo` value: this value will be used to make `MatrixRoom.roomInfoFlow` a `StateFlow` so we can assume the initial updated Room data will be present.
* Fetch encryption state when loading a room if it's unknown
* Add Google Tink dependency, replacing `androidx.security.crypto`
* Replace the `EncryptedFile` implementation too
* Extract constants, add some more docs
* Use `Settings.System.DEFAULT_RINGTONE_URI` for ringing notifications
This replaces `RingtoneManager.getActualDefaultRingtoneUri`, it should get the same audio file and avoid some reported issues about not having permission to load the audio file.
* Create `SyncOrchestrator` to centralise the sync start/stop flow through the whole app: the decision is based on several inputs: sync state, network available, app in foreground, app in call, app needing to sync an event for a notification.
* Make network monitor return network connectivity status, not internet connectivity
* Don't stop the `SyncService` when network connection is lost, let it fail instead. This prevents an issue when using the offline mode of the SDK, which made the wrong UI states to be shown when the `SyncState` is `Idle` (that is, after the service being manually stopped).
* Rename `NetworkStatus.Online/Offline` to `Connected/Disconnected` so they're not easily mistaken with internet connectivity instead
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."