Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34af6aeef5 | ||
|
|
d9af2f93e0 | ||
|
|
aae068b7b2 | ||
|
|
7626c1117e | ||
|
|
1188b59b05 | ||
|
|
cbd46d0c95 |
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
resolvers += Resolver.url("scalasbt releases", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-snapshots"))(Resolver.ivyStylePatterns)
|
resolvers += Resolver.url("scalasbt releases", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-snapshots"))(Resolver.ivyStylePatterns)
|
||||||
|
|
||||||
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.4.6")
|
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.4.7")
|
||||||
|
|
||||||
resolvers += Resolver.sbtPluginRepo("snapshots")
|
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
|
||||||
|
|
||||||
addSbtPlugin("com.hanhuy.sbt" % "sbt-idea" % "1.7.0-SNAPSHOT")
|
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.7.0-SNAPSHOT")
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.github.shadowsocks"
|
package="com.github.shadowsocks"
|
||||||
android:versionCode="109"
|
android:versionCode="111"
|
||||||
android:versionName="2.7.1">
|
android:versionName="2.7.3">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
|
|||||||
@@ -932,10 +932,14 @@ class Shadowsocks
|
|||||||
|
|
||||||
private def recovery() {
|
private def recovery() {
|
||||||
val h = showProgress(getString(R.string.recovering))
|
val h = showProgress(getString(R.string.recovering))
|
||||||
serviceStop()
|
|
||||||
spawn {
|
spawn {
|
||||||
reset()
|
reset()
|
||||||
h.sendEmptyMessage(0)
|
handler.post(new Runnable {
|
||||||
|
override def run() {
|
||||||
|
serviceStop
|
||||||
|
h.sendEmptyMessage(0)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -266,22 +266,23 @@ class ShadowsocksVpnService extends VpnService with BaseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val fd = startVpn()
|
val fd = startVpn()
|
||||||
if (fd == -1) {
|
|
||||||
false
|
if (fd != -1) {
|
||||||
} else {
|
var tries = 1
|
||||||
Thread.sleep(1000)
|
while (tries < 5) {
|
||||||
if (System.sendfd(fd) == -1) {
|
Thread.sleep(1000 * tries)
|
||||||
false
|
if (System.sendfd(fd) != -1) {
|
||||||
} else {
|
return true
|
||||||
true
|
}
|
||||||
|
tries += 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
def startShadowsocksDaemon() {
|
def startShadowsocksDaemon() {
|
||||||
|
|
||||||
if (Utils.isLollipopOrAbove && config.route != Route.ALL) {
|
if (config.route != Route.ALL) {
|
||||||
val acl: Array[String] = config.route match {
|
val acl: Array[String] = config.route match {
|
||||||
case Route.BYPASS_LAN => getResources.getStringArray(R.array.private_route)
|
case Route.BYPASS_LAN => getResources.getStringArray(R.array.private_route)
|
||||||
case Route.BYPASS_CHN => getResources.getStringArray(R.array.chn_route_full)
|
case Route.BYPASS_CHN => getResources.getStringArray(R.array.chn_route_full)
|
||||||
|
|||||||
Reference in New Issue
Block a user