From 3aa5f34ee7f9c5179b1bf3bf5cd35bb956690c12 Mon Sep 17 00:00:00 2001 From: Giom Foret Date: Fri, 13 Oct 2023 15:32:47 +0200 Subject: [PATCH] Update the NetworkConstraint handling in WorkManager config --- .../session/workmanager/DefaultWorkManagerConfig.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/workmanager/DefaultWorkManagerConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/workmanager/DefaultWorkManagerConfig.kt index 159aefc6fd..aa0b7b48a0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/workmanager/DefaultWorkManagerConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/workmanager/DefaultWorkManagerConfig.kt @@ -26,13 +26,16 @@ internal class DefaultWorkManagerConfig @Inject constructor( private val homeServerCapabilitiesDataSource: HomeServerCapabilitiesDataSource, ) : WorkManagerConfig { override fun withNetworkConstraint(): Boolean { - return if (credentials.discoveryInformation?.disableNetworkConstraint == true) { + val disableNetworkConstraint = homeServerCapabilitiesDataSource.getHomeServerCapabilities()?.disableNetworkConstraint + return if (disableNetworkConstraint != null) { + // Boolean `io.element.disable_network_constraint` explicitly set in the .well-known file + disableNetworkConstraint.not() + } + else if (credentials.discoveryInformation?.disableNetworkConstraint == true) { // Boolean `io.element.disable_network_constraint` explicitly set to `true` in the login response false - } else if (homeServerCapabilitiesDataSource.getHomeServerCapabilities()?.disableNetworkConstraint == true) { - // Boolean `io.element.disable_network_constraint` explicitly set to `true` in the .well-known file - false - } else { + } + else { // Default, use the Network constraint true }