Lazy usage of OkHttpClient

This commit is contained in:
Benoit Marty 2023-06-21 10:11:43 +02:00
parent 5fe186f9de
commit 12e54ac080
2 changed files with 8 additions and 6 deletions

View file

@ -52,6 +52,7 @@ import java.io.OutputStreamWriter
import java.net.HttpURLConnection import java.net.HttpURLConnection
import java.util.Locale import java.util.Locale
import javax.inject.Inject import javax.inject.Inject
import javax.inject.Provider
/** /**
* BugReporter creates and sends the bug reports. * BugReporter creates and sends the bug reports.
@ -62,7 +63,7 @@ class DefaultBugReporter @Inject constructor(
private val screenshotHolder: ScreenshotHolder, private val screenshotHolder: ScreenshotHolder,
private val crashDataStore: CrashDataStore, private val crashDataStore: CrashDataStore,
private val coroutineDispatchers: CoroutineDispatchers, private val coroutineDispatchers: CoroutineDispatchers,
private val okHttpClient: OkHttpClient, private val okHttpClient: Provider<OkHttpClient>,
/* /*
private val activeSessionHolder: ActiveSessionHolder, private val activeSessionHolder: ActiveSessionHolder,
private val versionProvider: VersionProvider, private val versionProvider: VersionProvider,
@ -339,7 +340,7 @@ class DefaultBugReporter @Inject constructor(
// trigger the request // trigger the request
try { try {
mBugReportCall = okHttpClient.newCall(request) mBugReportCall = okHttpClient.get().newCall(request)
response = mBugReportCall!!.execute() response = mBugReportCall!!.execute()
responseCode = response.code responseCode = response.code
} catch (e: Exception) { } catch (e: Exception) {

View file

@ -26,16 +26,17 @@ import io.element.android.libraries.di.ApplicationContext
import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.MatrixClient
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import javax.inject.Inject import javax.inject.Inject
import javax.inject.Provider
class LoggedInImageLoaderFactory @Inject constructor( class LoggedInImageLoaderFactory @Inject constructor(
@ApplicationContext private val context: Context, @ApplicationContext private val context: Context,
private val matrixClient: MatrixClient, private val matrixClient: MatrixClient,
private val okHttpClient: OkHttpClient, private val okHttpClient: Provider<OkHttpClient>,
) : ImageLoaderFactory { ) : ImageLoaderFactory {
override fun newImageLoader(): ImageLoader { override fun newImageLoader(): ImageLoader {
return ImageLoader return ImageLoader
.Builder(context) .Builder(context)
.okHttpClient(okHttpClient) .okHttpClient { okHttpClient.get() }
.components { .components {
// Add gif support // Add gif support
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
@ -54,12 +55,12 @@ class LoggedInImageLoaderFactory @Inject constructor(
class NotLoggedInImageLoaderFactory @Inject constructor( class NotLoggedInImageLoaderFactory @Inject constructor(
@ApplicationContext private val context: Context, @ApplicationContext private val context: Context,
private val okHttpClient: OkHttpClient, private val okHttpClient: Provider<OkHttpClient>,
) : ImageLoaderFactory { ) : ImageLoaderFactory {
override fun newImageLoader(): ImageLoader { override fun newImageLoader(): ImageLoader {
return ImageLoader return ImageLoader
.Builder(context) .Builder(context)
.okHttpClient(okHttpClient) .okHttpClient { okHttpClient.get() }
.build() .build()
} }
} }