From ea94e30347e9b8428861968dca9f60aaf2add681 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Mon, 27 Jun 2022 17:10:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=80=9A=E9=81=93`Telegram`=E4=BB=A3=E7=90=86=E4=B8=BB?= =?UTF-8?q?=E6=9C=BA=E5=90=8D=E6=94=AF=E6=8C=81=E5=9F=9F=E5=90=8D=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=20#172?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fragment/senders/TelegramFragment.kt | 18 ++++++++++++++---- .../forwarder/utils/sender/TelegramUtils.kt | 11 ++++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/TelegramFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/TelegramFragment.kt index 19ffbf0f..f22974c2 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/TelegramFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/TelegramFragment.kt @@ -1,5 +1,6 @@ package com.idormy.sms.forwarder.fragment.senders +import android.os.Looper import android.text.TextUtils import android.util.Log import android.view.LayoutInflater @@ -164,10 +165,19 @@ class TelegramFragment : BaseFragment(), View.O when (v.id) { R.id.btn_test -> { mCountDownHelper?.start() - val settingVo = checkSetting() - Log.d(TAG, settingVo.toString()) - val msgInfo = MsgInfo("sms", getString(R.string.test_phone_num), getString(R.string.test_sender_sms), Date(), getString(R.string.test_sim_info)) - TelegramUtils.sendMsg(settingVo, msgInfo) + Thread { + try { + val settingVo = checkSetting() + Log.d(TAG, settingVo.toString()) + val msgInfo = MsgInfo("sms", getString(R.string.test_phone_num), getString(R.string.test_sender_sms), Date(), getString(R.string.test_sim_info)) + TelegramUtils.sendMsg(settingVo, msgInfo) + } catch (e: Exception) { + e.printStackTrace() + if (Looper.myLooper() == null) Looper.prepare() + XToastUtils.error(e.message.toString()) + Looper.loop() + } + }.start() return } R.id.btn_del -> { diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/TelegramUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/TelegramUtils.kt index 885733eb..4ad76dc7 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/TelegramUtils.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/TelegramUtils.kt @@ -13,6 +13,7 @@ import com.xuexiang.xhttp2.XHttp import com.xuexiang.xhttp2.cache.model.CacheMode import com.xuexiang.xhttp2.callback.SimpleCallBack import com.xuexiang.xhttp2.exception.ApiException +import com.xuexiang.xutil.net.NetworkUtils import okhttp3.Credentials import okhttp3.Response import okhttp3.Route @@ -64,7 +65,15 @@ class TelegramUtils private constructor() { && !TextUtils.isEmpty(setting.proxyHost) && !TextUtils.isEmpty(setting.proxyPort) ) { //代理服务器的IP和端口号 - request.okproxy(Proxy(setting.proxyType, setting.proxyPort?.let { InetSocketAddress(setting.proxyHost, it.toInt()) })) + Log.d(TAG, "proxyHost = ${setting.proxyHost}, proxyPort = ${setting.proxyPort}") + val proxyHost = if (NetworkUtils.isIP(setting.proxyHost)) setting.proxyHost else NetworkUtils.getDomainAddress(setting.proxyHost) + if (!NetworkUtils.isIP(proxyHost)) { + throw Exception("代理服务器主机名解析失败:proxyHost=$proxyHost") + } + val proxyPort: Int = setting.proxyPort?.toInt() ?: 7890 + + Log.d(TAG, "proxyHost = $proxyHost, proxyPort = $proxyPort") + request.okproxy(Proxy(setting.proxyType, InetSocketAddress(proxyHost, proxyPort))) //代理的鉴权账号密码 if (setting.proxyAuthenticator == true