Commit e3e99adc authored by Mygod's avatar Mygod

Refine #2127

parent b3e4c26f
...@@ -39,6 +39,7 @@ import com.github.shadowsocks.plugin.PluginManager ...@@ -39,6 +39,7 @@ import com.github.shadowsocks.plugin.PluginManager
import com.github.shadowsocks.utils.Action import com.github.shadowsocks.utils.Action
import com.github.shadowsocks.utils.broadcastReceiver import com.github.shadowsocks.utils.broadcastReceiver
import com.github.shadowsocks.utils.printLog import com.github.shadowsocks.utils.printLog
import com.github.shadowsocks.utils.readableMessage
import com.google.firebase.analytics.FirebaseAnalytics import com.google.firebase.analytics.FirebaseAnalytics
import kotlinx.coroutines.* import kotlinx.coroutines.*
import java.io.File import java.io.File
...@@ -330,7 +331,7 @@ object BaseService { ...@@ -330,7 +331,7 @@ object BaseService {
data.processes = GuardedProcessPool { data.processes = GuardedProcessPool {
printLog(it) printLog(it)
data.connectingJob?.cancelAndJoin() data.connectingJob?.cancelAndJoin()
stopRunner(false, it.localizedMessage) stopRunner(false, it.readableMessage)
} }
startProcesses() startProcesses()
...@@ -349,7 +350,7 @@ object BaseService { ...@@ -349,7 +350,7 @@ object BaseService {
exc !is VpnService.NullConnectionException) { exc !is VpnService.NullConnectionException) {
printLog(exc) printLog(exc)
} }
stopRunner(false, "${getString(R.string.service_failed)}: ${exc.localizedMessage}") stopRunner(false, "${getString(R.string.service_failed)}: ${exc.readableMessage}")
} finally { } finally {
data.connectingJob = null data.connectingJob = null
} }
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
package com.github.shadowsocks.net package com.github.shadowsocks.net
import com.github.shadowsocks.utils.readableMessage
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withTimeoutOrNull import kotlinx.coroutines.withTimeoutOrNull
import java.io.File import java.io.File
...@@ -57,7 +58,7 @@ object TcpFastOpen { ...@@ -57,7 +58,7 @@ object TcpFastOpen {
ProcessBuilder("su", "-c", "echo 3 > $PATH").redirectErrorStream(true).start() ProcessBuilder("su", "-c", "echo 3 > $PATH").redirectErrorStream(true).start()
.inputStream.bufferedReader().readText() .inputStream.bufferedReader().readText()
} catch (e: IOException) { } catch (e: IOException) {
e.localizedMessage e.readableMessage
} }
} }
fun enableTimeout() = runBlocking { withTimeoutOrNull(1000) { enable() } } fun enableTimeout() = runBlocking { withTimeoutOrNull(1000) { enable() } }
......
...@@ -42,6 +42,8 @@ import kotlinx.coroutines.launch ...@@ -42,6 +42,8 @@ import kotlinx.coroutines.launch
import java.net.HttpURLConnection import java.net.HttpURLConnection
import java.net.InetAddress import java.net.InetAddress
val Throwable.readableMessage get() = localizedMessage ?: javaClass.name
private val parseNumericAddress by lazy { private val parseNumericAddress by lazy {
InetAddress::class.java.getDeclaredMethod("parseNumericAddress", String::class.java).apply { InetAddress::class.java.getDeclaredMethod("parseNumericAddress", String::class.java).apply {
isAccessible = true isAccessible = true
......
...@@ -43,6 +43,7 @@ import com.github.shadowsocks.preference.PluginConfigurationDialogFragment ...@@ -43,6 +43,7 @@ import com.github.shadowsocks.preference.PluginConfigurationDialogFragment
import com.github.shadowsocks.utils.Action import com.github.shadowsocks.utils.Action
import com.github.shadowsocks.utils.DirectBoot import com.github.shadowsocks.utils.DirectBoot
import com.github.shadowsocks.utils.Key import com.github.shadowsocks.utils.Key
import com.github.shadowsocks.utils.readableMessage
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import com.takisoft.preferencex.EditTextPreference import com.takisoft.preferencex.EditTextPreference
import com.takisoft.preferencex.PreferenceFragmentCompat import com.takisoft.preferencex.PreferenceFragmentCompat
...@@ -156,7 +157,7 @@ class ProfileConfigFragment : PreferenceFragmentCompat(), ...@@ -156,7 +157,7 @@ class ProfileConfigFragment : PreferenceFragmentCompat(),
DataStore.dirty = true DataStore.dirty = true
true true
} catch (exc: RuntimeException) { } catch (exc: RuntimeException) {
Snackbar.make(view!!, exc.localizedMessage, Snackbar.LENGTH_LONG).show() Snackbar.make(view!!, exc.readableMessage, Snackbar.LENGTH_LONG).show()
false false
} }
......
...@@ -49,6 +49,7 @@ import com.github.shadowsocks.preference.DataStore ...@@ -49,6 +49,7 @@ import com.github.shadowsocks.preference.DataStore
import com.github.shadowsocks.utils.Action import com.github.shadowsocks.utils.Action
import com.github.shadowsocks.utils.datas import com.github.shadowsocks.utils.datas
import com.github.shadowsocks.utils.printLog import com.github.shadowsocks.utils.printLog
import com.github.shadowsocks.utils.readableMessage
import com.github.shadowsocks.widget.UndoSnackbarManager import com.github.shadowsocks.widget.UndoSnackbarManager
import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdSize import com.google.android.gms.ads.AdSize
...@@ -452,7 +453,7 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener { ...@@ -452,7 +453,7 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
} }
} catch (e: Exception) { } catch (e: Exception) {
printLog(e) printLog(e)
(activity as MainActivity).snackbar(e.localizedMessage).show() (activity as MainActivity).snackbar(e.readableMessage).show()
} }
} }
else -> super.onActivityResult(requestCode, resultCode, data) else -> super.onActivityResult(requestCode, resultCode, data)
......
...@@ -48,6 +48,7 @@ import com.github.shadowsocks.bg.BaseService ...@@ -48,6 +48,7 @@ import com.github.shadowsocks.bg.BaseService
import com.github.shadowsocks.net.Subnet import com.github.shadowsocks.net.Subnet
import com.github.shadowsocks.plugin.AlertDialogFragment import com.github.shadowsocks.plugin.AlertDialogFragment
import com.github.shadowsocks.utils.asIterable import com.github.shadowsocks.utils.asIterable
import com.github.shadowsocks.utils.readableMessage
import com.github.shadowsocks.utils.resolveResourceId import com.github.shadowsocks.utils.resolveResourceId
import com.github.shadowsocks.widget.UndoSnackbarManager import com.github.shadowsocks.widget.UndoSnackbarManager
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout
...@@ -146,7 +147,7 @@ class CustomRulesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener, ...@@ -146,7 +147,7 @@ class CustomRulesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener,
if (Subnet.fromString(this) == null) toPattern() if (Subnet.fromString(this) == null) toPattern()
true true
} catch (e: PatternSyntaxException) { } catch (e: PatternSyntaxException) {
message = e.localizedMessage message = e.readableMessage
false false
} }
} }
...@@ -154,7 +155,7 @@ class CustomRulesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener, ...@@ -154,7 +155,7 @@ class CustomRulesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener,
IDN.toASCII(value.toString(), IDN.ALLOW_UNASSIGNED or IDN.USE_STD3_ASCII_RULES) IDN.toASCII(value.toString(), IDN.ALLOW_UNASSIGNED or IDN.USE_STD3_ASCII_RULES)
true true
} catch (e: IllegalArgumentException) { } catch (e: IllegalArgumentException) {
message = e.cause?.localizedMessage ?: e.localizedMessage message = e.cause?.readableMessage ?: e.readableMessage
false false
} }
Template.Url -> try { Template.Url -> try {
...@@ -162,7 +163,7 @@ class CustomRulesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener, ...@@ -162,7 +163,7 @@ class CustomRulesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener,
if ("http".equals(url.protocol, true)) message = getString(R.string.cleartext_http_warning) if ("http".equals(url.protocol, true)) message = getString(R.string.cleartext_http_warning)
true true
} catch (e: MalformedURLException) { } catch (e: MalformedURLException) {
message = e.localizedMessage message = e.readableMessage
false false
} }
} }
......
...@@ -56,6 +56,7 @@ import com.github.shadowsocks.preference.OnPreferenceDataStoreChangeListener ...@@ -56,6 +56,7 @@ import com.github.shadowsocks.preference.OnPreferenceDataStoreChangeListener
import com.github.shadowsocks.utils.Key import com.github.shadowsocks.utils.Key
import com.github.shadowsocks.utils.datas import com.github.shadowsocks.utils.datas
import com.github.shadowsocks.utils.printLog import com.github.shadowsocks.utils.printLog
import com.github.shadowsocks.utils.readableMessage
import org.json.JSONArray import org.json.JSONArray
class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksConnection.Callback, class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksConnection.Callback,
...@@ -313,7 +314,7 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo ...@@ -313,7 +314,7 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo
} }
} catch (e: Exception) { } catch (e: Exception) {
printLog(e) printLog(e)
Toast.makeText(context, e.localizedMessage, Toast.LENGTH_SHORT).show() Toast.makeText(context, e.readableMessage, Toast.LENGTH_SHORT).show()
} }
populateProfiles() populateProfiles()
} }
...@@ -328,7 +329,7 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo ...@@ -328,7 +329,7 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo
} }
} catch (e: Exception) { } catch (e: Exception) {
printLog(e) printLog(e)
Toast.makeText(context, e.localizedMessage, Toast.LENGTH_SHORT).show() Toast.makeText(context, e.readableMessage, Toast.LENGTH_SHORT).show()
} }
} }
else -> super.onActivityResult(requestCode, resultCode, data) else -> super.onActivityResult(requestCode, resultCode, data)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment