Skip to content

Commit 497f422

Browse files
committed
Authenticated media : fix pr remarks
1 parent 669a80e commit 497f422

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetHomeServerCapabilitiesTask.kt

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.zhuinden.monarchy.Monarchy
2020
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
2121
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
2222
import org.matrix.android.sdk.api.auth.wellknown.WellknownResult
23+
import org.matrix.android.sdk.api.extensions.orFalse
2324
import org.matrix.android.sdk.api.extensions.orTrue
2425
import org.matrix.android.sdk.api.session.homeserver.HomeServerCapabilities
2526
import org.matrix.android.sdk.internal.auth.version.Versions
@@ -39,8 +40,9 @@ import org.matrix.android.sdk.internal.di.UserId
3940
import org.matrix.android.sdk.internal.network.GlobalErrorReceiver
4041
import org.matrix.android.sdk.internal.network.executeRequest
4142
import org.matrix.android.sdk.internal.session.integrationmanager.IntegrationManagerConfigExtractor
43+
import org.matrix.android.sdk.internal.session.media.AuthenticatedMediaAPI
4244
import org.matrix.android.sdk.internal.session.media.GetMediaConfigResult
43-
import org.matrix.android.sdk.internal.session.media.MediaAPIProvider
45+
import org.matrix.android.sdk.internal.session.media.UnauthenticatedMediaAPI
4446
import org.matrix.android.sdk.internal.task.Task
4547
import org.matrix.android.sdk.internal.util.awaitTransaction
4648
import org.matrix.android.sdk.internal.wellknown.GetWellknownTask
@@ -56,7 +58,8 @@ internal interface GetHomeServerCapabilitiesTask : Task<GetHomeServerCapabilitie
5658

5759
internal class DefaultGetHomeServerCapabilitiesTask @Inject constructor(
5860
private val capabilitiesAPI: CapabilitiesAPI,
59-
private val mediaAPIProvider: MediaAPIProvider,
61+
private val unauthenticatedMediaAPI: UnauthenticatedMediaAPI,
62+
private val authenticatedMediaAPI: AuthenticatedMediaAPI,
6063
@SessionDatabase private val monarchy: Monarchy,
6164
private val globalErrorReceiver: GlobalErrorReceiver,
6265
private val getWellknownTask: GetWellknownTask,
@@ -85,18 +88,22 @@ internal class DefaultGetHomeServerCapabilitiesTask @Inject constructor(
8588
}
8689
}.getOrNull()
8790

88-
val mediaConfig = runCatching {
89-
executeRequest(globalErrorReceiver) {
90-
mediaAPIProvider.getMediaAPI().getMediaConfig()
91-
}
92-
}.getOrNull()
93-
9491
val versions = runCatching {
9592
executeRequest(null) {
9693
capabilitiesAPI.getVersions()
9794
}
9895
}.getOrNull()
9996

97+
val mediaConfig = runCatching {
98+
executeRequest(globalErrorReceiver) {
99+
if (versions?.doesServerSupportAuthenticatedMedia().orFalse()) {
100+
authenticatedMediaAPI.getMediaConfig()
101+
} else {
102+
unauthenticatedMediaAPI.getMediaConfig()
103+
}
104+
}
105+
}.getOrNull()
106+
100107
// Domain may include a port (eg, matrix.org:8080)
101108
// Per https://spec.matrix.org/latest/client-server-api/#well-known-uri we should extract the hostname from the server name
102109
// So we take everything before the last : as the domain for the well-known task.

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/media/DefaultIsAuthenticatedMediaSupported.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ internal class DefaultIsAuthenticatedMediaSupported @Inject constructor(
4242
}
4343

4444
override fun onChange(results: RealmResults<HomeServerCapabilitiesEntity>) {
45-
Timber.d("HomeServerCapabilitiesEntity updated.")
4645
canUseAuthenticatedMedia = results.canUseAuthenticatedMedia()
4746
Timber.d("canUseAuthenticatedMedia: $canUseAuthenticatedMedia")
4847
}

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/media/GetRawPreviewUrlTask.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ internal interface GetRawPreviewUrlTask : Task<GetRawPreviewUrlTask.Params, Json
3030
}
3131

3232
internal class DefaultGetRawPreviewUrlTask @Inject constructor(
33-
private val mediaAPI: UnauthenticatedMediaAPI,
33+
private val mediaAPIProvider: MediaAPIProvider,
3434
private val globalErrorReceiver: GlobalErrorReceiver
3535
) : GetRawPreviewUrlTask {
3636

3737
override suspend fun execute(params: GetRawPreviewUrlTask.Params): JsonDict {
3838
return executeRequest(globalErrorReceiver) {
39-
mediaAPI.getPreviewUrlData(params.url, params.timestamp)
39+
mediaAPIProvider.getMediaAPI().getPreviewUrlData(params.url, params.timestamp)
4040
}
4141
}
4242
}

0 commit comments

Comments
 (0)