* 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>
* SyncOrchestrator: restore the initial sync step
* Try having internal and public functions to be able to unit test the initial sync and the state changes separately, as well as the initial sync followed by a state change
* Only manually start sync if the `SyncService` was previously stopped, don't do it for `Offline` state
Some internal refactoring was done too:
- Remove RoomInfo.isPublic to only use JoinRule.
- Also take into account restricted access rooms for previews.
> Rule 'Check code coverage of states' violated:
instructions covered percentage for class 'io.element.android.libraries.mediaviewer.impl.local.player.MediaPlayerControllerState' is 0.000000, but expected minimum is 90
instructions covered percentage for class 'io.element.android.libraries.textcomposer.components.FormattingOptionState' is 0.000000, but expected minimum is 90
* 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