From c3f8de99be1f81958a1d7a7546f948930b38a322 Mon Sep 17 00:00:00 2001 From: Aditya Wasan Date: Sat, 22 May 2021 17:25:43 +0530 Subject: app: refactor GitSettings and ProxyUtils and inject them using hilt Signed-off-by: Aditya Wasan --- .../java/dev/msfjarvis/aps/util/proxy/ProxyUtils.kt | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'app/src/main/java/dev/msfjarvis/aps/util/proxy') diff --git a/app/src/main/java/dev/msfjarvis/aps/util/proxy/ProxyUtils.kt b/app/src/main/java/dev/msfjarvis/aps/util/proxy/ProxyUtils.kt index e6eb7e43..d21ee24d 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/proxy/ProxyUtils.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/proxy/ProxyUtils.kt @@ -14,20 +14,20 @@ import java.net.Proxy import java.net.ProxySelector import java.net.SocketAddress import java.net.URI +import javax.inject.Inject +import javax.inject.Singleton /** Utility class for [Proxy] handling. */ -object ProxyUtils { - - private const val HTTP_PROXY_USER_PROPERTY = "http.proxyUser" - private const val HTTP_PROXY_PASSWORD_PROPERTY = "http.proxyPassword" +@Singleton +class ProxyUtils @Inject constructor(private val gitSettings: GitSettings) { /** Set the default [Proxy] and [Authenticator] for the app based on user provided settings. */ fun setDefaultProxy() { ProxySelector.setDefault( object : ProxySelector() { override fun select(uri: URI?): MutableList { - val host = GitSettings.proxyHost - val port = GitSettings.proxyPort + val host = gitSettings.proxyHost + val port = gitSettings.proxyPort return if (host == null || port == -1) { mutableListOf(Proxy.NO_PROXY) } else { @@ -42,8 +42,8 @@ object ProxyUtils { } } ) - val user = GitSettings.proxyUsername ?: "" - val password = GitSettings.proxyPassword ?: "" + val user = gitSettings.proxyUsername ?: "" + val password = gitSettings.proxyPassword ?: "" if (user.isEmpty() || password.isEmpty()) { System.clearProperty(HTTP_PROXY_USER_PROPERTY) System.clearProperty(HTTP_PROXY_PASSWORD_PROPERTY) @@ -63,4 +63,9 @@ object ProxyUtils { } ) } + + companion object { + private const val HTTP_PROXY_USER_PROPERTY = "http.proxyUser" + private const val HTTP_PROXY_PASSWORD_PROPERTY = "http.proxyPassword" + } } -- cgit v1.2.3