diff --git a/android/app/src/main/java/com/fabledsword/minstrel/api/BaseUrlInterceptor.kt b/android/app/src/main/java/com/fabledsword/minstrel/api/BaseUrlInterceptor.kt index 06e59bc2..8bc5fee1 100644 --- a/android/app/src/main/java/com/fabledsword/minstrel/api/BaseUrlInterceptor.kt +++ b/android/app/src/main/java/com/fabledsword/minstrel/api/BaseUrlInterceptor.kt @@ -38,14 +38,18 @@ class BaseUrlInterceptor @Inject constructor( override fun intercept(chain: Interceptor.Chain): Response { val original = chain.request() + // Early-bail keeps the no-op path for external URLs cheap + // (no AuthStore read, no URL parse). if (original.url.host != PLACEHOLDER_HOST) return chain.proceed(original) - val baseUrl = authStore.baseUrl.value.toHttpUrlOrNull() - ?: return chain.proceed(original) - val rewritten: HttpUrl = original.url.newBuilder() - .scheme(baseUrl.scheme) - .host(baseUrl.host) - .port(baseUrl.port) - .build() + // Unparseable baseUrl folds into the same proceed path — keeps + // detekt's ReturnCount happy by avoiding a second early return. + val rewritten: HttpUrl = authStore.baseUrl.value.toHttpUrlOrNull()?.let { baseUrl -> + original.url.newBuilder() + .scheme(baseUrl.scheme) + .host(baseUrl.host) + .port(baseUrl.port) + .build() + } ?: original.url return chain.proceed(original.newBuilder().url(rewritten).build()) }