From b5baecf8d07e1a6cb719a8de1724b4b15eaeb5d4 Mon Sep 17 00:00:00 2001 From: tarsin Date: Fri, 2 Jun 2023 17:58:35 +0800 Subject: [PATCH] Singletonize EhProxySelector --- .../main/java/com/hippo/ehviewer/EhApplication.kt | 4 +--- .../main/java/com/hippo/ehviewer/EhProxySelector.kt | 12 +++++------- .../com/hippo/ehviewer/preference/ProxyPreference.kt | 3 +-- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt index aa95944d2..fbdd976cd 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt @@ -138,13 +138,11 @@ class EhApplication : Application(), ImageLoaderFactory { } companion object { - val ehProxySelector by lazy { EhProxySelector() } - val nonCacheOkHttpClient by lazy { httpClient { cookieJar(EhCookieStore) dns(EhDns) - proxySelector(ehProxySelector) + proxySelector(EhProxySelector) if (Settings.dF) { install(EhSSLSocketFactory) proxy(Proxy.NO_PROXY) diff --git a/app/src/main/java/com/hippo/ehviewer/EhProxySelector.kt b/app/src/main/java/com/hippo/ehviewer/EhProxySelector.kt index 274f3e9b9..1e2ad7610 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhProxySelector.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhProxySelector.kt @@ -29,7 +29,7 @@ import java.net.ProxySelector import java.net.SocketAddress import java.net.URI -class EhProxySelector internal constructor() : ProxySelector() { +object EhProxySelector : ProxySelector() { private var delegation: ProxySelector? = null private var alternative: ProxySelector? @@ -83,10 +83,8 @@ class EhProxySelector internal constructor() : ProxySelector() { override fun connectFailed(uri: URI, sa: SocketAddress, ioe: IOException) {} } - companion object { - const val TYPE_DIRECT = 0 - const val TYPE_SYSTEM = 1 - const val TYPE_HTTP = 2 - const val TYPE_SOCKS = 3 - } + const val TYPE_DIRECT = 0 + const val TYPE_SYSTEM = 1 + const val TYPE_HTTP = 2 + const val TYPE_SOCKS = 3 } diff --git a/app/src/main/java/com/hippo/ehviewer/preference/ProxyPreference.kt b/app/src/main/java/com/hippo/ehviewer/preference/ProxyPreference.kt index 69d41a33a..aa0055159 100644 --- a/app/src/main/java/com/hippo/ehviewer/preference/ProxyPreference.kt +++ b/app/src/main/java/com/hippo/ehviewer/preference/ProxyPreference.kt @@ -25,7 +25,6 @@ import android.widget.AutoCompleteTextView import android.widget.EditText import androidx.appcompat.app.AlertDialog import com.google.android.material.textfield.TextInputLayout -import com.hippo.ehviewer.EhApplication import com.hippo.ehviewer.EhProxySelector import com.hippo.ehviewer.R import com.hippo.ehviewer.Settings @@ -165,7 +164,7 @@ class ProxyPreference @JvmOverloads constructor( Settings.proxyIp = ip Settings.proxyPort = port updateSummary(type, ip, port) - EhApplication.ehProxySelector.updateProxy() + EhProxySelector.updateProxy() dialog.dismiss() } }