Skip to content

Commit

Permalink
Fix logging call (#8117)
Browse files Browse the repository at this point in the history
  • Loading branch information
yschimke authored Nov 27, 2023
1 parent 2016a7e commit e92667c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ object AndroidLog {
this["okhttp3.mockwebserver.MockWebServer"] = "okhttp.MockWebServer"
}.toMap()

internal fun androidLog(loggerName: String, logLevel: Int, message: String, t: Throwable?) {
internal fun androidLog(loggerName: String, logLevel: Int, message: String, t: Throwable? = null) {
val tag = loggerTag(loggerName)

if (Log.isLoggable(tag, logLevel)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package okhttp3.internal.platform.android
import javax.net.ssl.SSLSocket
import javax.net.ssl.SSLSocketFactory
import javax.net.ssl.X509TrustManager
import okhttp3.OkHttpClient
import okhttp3.internal.platform.Platform
import okhttp3.internal.readFieldOrNull

Expand All @@ -34,17 +35,17 @@ class StandardAndroidSocketAdapter(
) : AndroidSocketAdapter(sslSocketClass) {

override fun matchesSocketFactory(sslSocketFactory: SSLSocketFactory): Boolean =
sslSocketFactoryClass.isInstance(sslSocketFactory)
sslSocketFactoryClass.isInstance(sslSocketFactory)

override fun trustManager(sslSocketFactory: SSLSocketFactory): X509TrustManager? {
val context: Any? =
readFieldOrNull(sslSocketFactory, paramClass,
"sslParameters")
readFieldOrNull(sslSocketFactory, paramClass,
"sslParameters")
val x509TrustManager = readFieldOrNull(
context!!, X509TrustManager::class.java, "x509TrustManager")
context!!, X509TrustManager::class.java, "x509TrustManager")
return x509TrustManager ?: readFieldOrNull(context,
X509TrustManager::class.java,
"trustManager")
X509TrustManager::class.java,
"trustManager")
}

companion object {
Expand All @@ -53,12 +54,12 @@ class StandardAndroidSocketAdapter(
return try {
val sslSocketClass = Class.forName("$packageName.OpenSSLSocketImpl") as Class<in SSLSocket>
val sslSocketFactoryClass =
Class.forName("$packageName.OpenSSLSocketFactoryImpl") as Class<in SSLSocketFactory>
Class.forName("$packageName.OpenSSLSocketFactoryImpl") as Class<in SSLSocketFactory>
val paramsClass = Class.forName("$packageName.SSLParametersImpl")

StandardAndroidSocketAdapter(sslSocketClass, sslSocketFactoryClass, paramsClass)
} catch (e: Exception) {
Platform.get().log(level = Platform.WARN, message = "unable to load android socket classes", t = e)
AndroidLog.androidLog(loggerName = OkHttpClient::class.java.name, logLevel = Platform.WARN, message = "unable to load android socket classes", t = e)
null
}
}
Expand Down

0 comments on commit e92667c

Please sign in to comment.