Преглед изворни кода

1.修改定时提醒的提示。

2.OkhttpClient允许代理
20241218TB223FC(测试jar包)
wangwanlei пре 9 месеци
родитељ
комит
ce714ad8bd

+ 1
- 2
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Прегледај датотеку

@@ -751,8 +751,7 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>() {
751 751
             timer?.let {
752 752
                 timer?.schedule(object : TimerTask() {
753 753
                     override fun run() {
754
-                        // 在这里编写您的定时任务代码
755
-                        Toast(getString(R.string.durationtips) + "|||" + bean.duration)
754
+                        Toast(getString(R.string.durationtips))
756 755
                     }
757 756
                 }, bean.duration * 60 * 1000L, bean.duration * 60 * 1000L)
758 757
             }

+ 71
- 2
corelib/src/main/java/com/xhly/corelib/network/RetrofitService.kt Прегледај датотеку

@@ -1,5 +1,6 @@
1 1
 package com.xhly.corelib.network
2 2
 
3
+import android.annotation.SuppressLint
3 4
 import android.util.Log
4 5
 import com.xhly.corelib.Const
5 6
 import io.reactivex.internal.subscribers.DeferredScalarSubscriber
@@ -13,7 +14,14 @@ import retrofit2.converter.scalars.ScalarsConverterFactory
13 14
 import java.net.Proxy
14 15
 import java.net.URLDecoder
15 16
 import java.net.URLEncoder
17
+import java.security.SecureRandom
18
+import java.security.cert.CertificateException
19
+import java.security.cert.X509Certificate
16 20
 import java.util.concurrent.TimeUnit
21
+import javax.net.ssl.SSLContext
22
+import javax.net.ssl.SSLSocketFactory
23
+import javax.net.ssl.TrustManager
24
+import javax.net.ssl.X509TrustManager
17 25
 
18 26
 object RetrofitService {
19 27
     private const val READ_TIMEOUT = 60L
@@ -42,10 +50,14 @@ object RetrofitService {
42 50
             }
43 51
         }
44 52
         interceptor.level = HttpLoggingInterceptor.Level.BODY
45
-        return OkHttpClient.Builder().proxy(Proxy.NO_PROXY).retryOnConnectionFailure(true)
53
+        return OkHttpClient.Builder()
54
+           /* .proxy(Proxy.NO_PROXY)*/
55
+            .retryOnConnectionFailure(true)
46 56
             .connectTimeout(CONNECT_TIMEOUT, TimeUnit.SECONDS)
47 57
             .readTimeout(READ_TIMEOUT, TimeUnit.SECONDS)
48
-            .writeTimeout(WRITE_TIMEOUT, TimeUnit.SECONDS).addInterceptor(ResponseInterceptor())
58
+            .writeTimeout(WRITE_TIMEOUT, TimeUnit.SECONDS)
59
+            .sslSocketFactory(getSSLSocketFactory(), trustManager)
60
+            .addInterceptor(ResponseInterceptor())
49 61
             .addInterceptor(interceptor).build()
50 62
     }
51 63
 
@@ -57,5 +69,62 @@ object RetrofitService {
57 69
             .client(getClient()).build().also { mRetrofit = it }
58 70
     }
59 71
 
72
+    @kotlin.jvm.Throws(Exception::class)
73
+    private fun getSSLSocketFactory(): SSLSocketFactory {
74
+        //创建一个不验证证书链的证书信任管理器。
75
+        val trustAllCerts = arrayOf<TrustManager>(object : X509TrustManager {
76
+            @kotlin.jvm.Throws(CertificateException::class)
77
+            override fun checkClientTrusted(
78
+                chain: Array<X509Certificate>,
79
+                authType: String
80
+            ) {
81
+            }
82
+
83
+            @kotlin.jvm.Throws(CertificateException::class)
84
+            override fun checkServerTrusted(
85
+                chain: Array<X509Certificate>,
86
+                authType: String
87
+            ) {
88
+            }
89
+
90
+            override fun getAcceptedIssuers(): Array<X509Certificate?> {
91
+                return arrayOfNulls(0)
92
+            }
93
+        })
94
+
95
+        // Install the all-trusting trust manager
96
+        val sslContext = SSLContext.getInstance("TLS")
97
+        sslContext.init(
98
+            null, trustAllCerts,
99
+            SecureRandom()
100
+        )
101
+        // Create an ssl socket factory with our all-trusting manager
102
+        return sslContext.socketFactory
103
+    }
104
+
105
+    val trustManager = @SuppressLint("CustomX509TrustManager")
106
+    object : X509TrustManager {
107
+        @SuppressLint("TrustAllX509TrustManager")
108
+        @Throws(CertificateException::class)
109
+        override fun checkClientTrusted(
110
+            chain: Array<X509Certificate>,
111
+            authType: String
112
+        ) {
113
+        }
114
+
115
+        @SuppressLint("TrustAllX509TrustManager")
116
+        @Throws(CertificateException::class)
117
+        override fun checkServerTrusted(
118
+            chain: Array<X509Certificate>,
119
+            authType: String
120
+        ) {
121
+        }
122
+
123
+        override fun getAcceptedIssuers(): Array<X509Certificate?> {
124
+            return arrayOfNulls(0)
125
+        }
126
+    }
127
+
128
+
60 129
     inline fun <reified T> create() = getRetrofit().create(T::class.java)
61 130
 }

Loading…
Откажи
Сачувај