kyazzeallan4
04/08/2024, 1:11 PMColton Idle
04/08/2024, 3:23 PMFirst Last
11/23/2024, 5:44 AMFirst Last
11/23/2024, 5:44 AMfun getUnsafeClient(): OkHttpClient {
val trustAllCerts: Array<TrustManager> = arrayOf(
object : X509TrustManager {
@Throws(CertificateException::class)
override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) {
}
@Throws(CertificateException::class)
override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) {
}
override fun getAcceptedIssuers(): Array<X509Certificate> {
return arrayOf()
}
}
)
val sslContext = SSLContext.getInstance("SSL")
sslContext.init(null, trustAllCerts, SecureRandom())
val sslSocketFactory: SSLSocketFactory = sslContext.socketFactory
val okHttpClientBuilder = OkHttpClient.Builder()
okHttpClientBuilder.sslSocketFactory(sslSocketFactory, trustAllCerts[0] as X509TrustManager)
okHttpClientBuilder.hostnameVerifier { _, _ -> true }
return okHttpClientBuilder.build()
}
First Last
11/23/2024, 5:44 AMactual fun imageLoader(context: Any?): ImageLoader {
val insecureOkHttpClient = getUnsafeClient()
// Create a Call.Factory using the insecure client
val callFactory = OkHttpClientCallFactory(insecureOkHttpClient)
// Create an ImageLoader using the insecure client
return ImageLoader.Builder(context as Context)
.components {
add(
OkHttpNetworkFetcherFactory({
OkHttpClient.Builder().build()
})
)
}
.build()
}
class OkHttpClientCallFactory(private val client: OkHttpClient) : Call.Factory {
override fun newCall(request: okhttp3.Request): Call {
return client.newCall(request)
}
}