diff --git a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/UnifiedPushGatewayResolver.kt b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/UnifiedPushGatewayResolver.kt index 4b80ae42ff..8dc54dff8c 100644 --- a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/UnifiedPushGatewayResolver.kt +++ b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/UnifiedPushGatewayResolver.kt @@ -10,6 +10,7 @@ package io.element.android.libraries.pushproviders.unifiedpush import com.squareup.anvil.annotations.ContributesBinding import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.data.tryOrNull +import io.element.android.libraries.core.log.logger.LoggerTag import io.element.android.libraries.di.AppScope import kotlinx.coroutines.withContext import retrofit2.HttpException @@ -29,6 +30,8 @@ interface UnifiedPushGatewayResolver { suspend fun getGateway(endpoint: String): UnifiedPushGatewayResolverResult } +private val loggerTag = LoggerTag("DefaultUnifiedPushGatewayResolver") + @ContributesBinding(AppScope::class) class DefaultUnifiedPushGatewayResolver @Inject constructor( private val unifiedPushApiFactory: UnifiedPushApiFactory, @@ -36,36 +39,36 @@ class DefaultUnifiedPushGatewayResolver @Inject constructor( ) : UnifiedPushGatewayResolver { override suspend fun getGateway(endpoint: String): UnifiedPushGatewayResolverResult { val url = tryOrNull( - onException = { Timber.tag("DefaultUnifiedPushGatewayResolver").d(it, "Cannot parse endpoint as an URL") } + onException = { Timber.tag(loggerTag.value).d(it, "Cannot parse endpoint as an URL") } ) { URL(endpoint) } return if (url == null) { - Timber.tag("DefaultUnifiedPushGatewayResolver").d("ErrorInvalidUrl") + Timber.tag(loggerTag.value).d("ErrorInvalidUrl") UnifiedPushGatewayResolverResult.ErrorInvalidUrl } else { val port = if (url.port != -1) ":${url.port}" else "" val customBase = "${url.protocol}://${url.host}$port" val customUrl = "$customBase/_matrix/push/v1/notify" - Timber.tag("DefaultUnifiedPushGatewayResolver").i("Testing $customUrl") + Timber.tag(loggerTag.value).i("Testing $customUrl") return withContext(coroutineDispatchers.io) { val api = unifiedPushApiFactory.create(customBase) try { val discoveryResponse = api.discover() if (discoveryResponse.unifiedpush.gateway == "matrix") { - Timber.tag("DefaultUnifiedPushGatewayResolver").d("The endpoint seems to be a valid UnifiedPush gateway") + Timber.tag(loggerTag.value).d("The endpoint seems to be a valid UnifiedPush gateway") UnifiedPushGatewayResolverResult.Success(customUrl) } else { // The endpoint returned a 200 OK but didn't promote an actual matrix gateway, which means it doesn't have any - Timber.tag("DefaultUnifiedPushGatewayResolver").w("The endpoint does not seem to be a valid UnifiedPush gateway, using fallback") + Timber.tag(loggerTag.value).w("The endpoint does not seem to be a valid UnifiedPush gateway, using fallback") UnifiedPushGatewayResolverResult.NoMatrixGateway } } catch (throwable: Throwable) { if ((throwable as? HttpException)?.code() == HttpURLConnection.HTTP_NOT_FOUND) { - Timber.tag("DefaultUnifiedPushGatewayResolver").i("Checking for UnifiedPush endpoint yielded 404, using fallback") + Timber.tag(loggerTag.value).i("Checking for UnifiedPush endpoint yielded 404, using fallback") UnifiedPushGatewayResolverResult.NoMatrixGateway } else { - Timber.tag("DefaultUnifiedPushGatewayResolver").e(throwable, "Error checking for UnifiedPush endpoint") + Timber.tag(loggerTag.value).e(throwable, "Error checking for UnifiedPush endpoint") UnifiedPushGatewayResolverResult.Error(customUrl) } }