Commit 4b37d88f authored by Max Lv's avatar Max Lv

refine VPN mode on L

parent 8ee5d77c
...@@ -80,6 +80,7 @@ ...@@ -80,6 +80,7 @@
<service <service
android:name=".ShadowsocksVpnService" android:name=".ShadowsocksVpnService"
android:process=":vpn"
android:label="@string/app_name" android:label="@string/app_name"
android:permission="android.permission.BIND_VPN_SERVICE" android:permission="android.permission.BIND_VPN_SERVICE"
android:exported="false"> android:exported="false">
......
...@@ -775,7 +775,7 @@ class Shadowsocks ...@@ -775,7 +775,7 @@ class Shadowsocks
if (pref != null) { if (pref != null) {
if (Seq(Key.isGlobalProxy, Key.proxyedApps) if (Seq(Key.isGlobalProxy, Key.proxyedApps)
.contains(name)) { .contains(name)) {
pref.setEnabled(enabled && (!isVpnEnabled)) pref.setEnabled(enabled && (Utils.isLollipopOrAbove || !isVpnEnabled))
} else { } else {
pref.setEnabled(enabled) pref.setEnabled(enabled)
} }
......
...@@ -41,7 +41,6 @@ package com.github.shadowsocks ...@@ -41,7 +41,6 @@ package com.github.shadowsocks
import java.io.File import java.io.File
import java.lang.reflect.{InvocationTargetException, Method} import java.lang.reflect.{InvocationTargetException, Method}
import java.util.Timer
import android.app.{Notification, NotificationManager, PendingIntent, Service} import android.app.{Notification, NotificationManager, PendingIntent, Service}
import android.content._ import android.content._
...@@ -86,11 +85,6 @@ class ShadowsocksNatService extends Service with BaseService { ...@@ -86,11 +85,6 @@ class ShadowsocksNatService extends Service with BaseService {
private var mStartForegroundArgs = new Array[AnyRef](2) private var mStartForegroundArgs = new Array[AnyRef](2)
private var mStopForegroundArgs = new Array[AnyRef](1) private var mStopForegroundArgs = new Array[AnyRef](1)
private var lastTxRate = 0
private var lastRxRate = 0
private var timer: Timer = null
private val TIMER_INTERVAL = 2
private lazy val application = getApplication.asInstanceOf[ShadowsocksApplication] private lazy val application = getApplication.asInstanceOf[ShadowsocksApplication]
def setDnsForAllNetwork(dns: String) { def setDnsForAllNetwork(dns: String) {
...@@ -543,12 +537,6 @@ class ShadowsocksNatService extends Service with BaseService { ...@@ -543,12 +537,6 @@ class ShadowsocksNatService extends Service with BaseService {
.setLabel(getVersionName) .setLabel(getVersionName)
.build()) .build())
// reset timer
if (timer != null) {
timer.cancel()
timer = null
}
// reset NAT // reset NAT
killProcesses() killProcesses()
...@@ -564,7 +552,7 @@ class ShadowsocksNatService extends Service with BaseService { ...@@ -564,7 +552,7 @@ class ShadowsocksNatService extends Service with BaseService {
} }
override def stopBackgroundService() { override def stopBackgroundService() {
stopRunner() stopSelf()
} }
override def getTag = TAG override def getTag = TAG
......
...@@ -479,7 +479,7 @@ class ShadowsocksVpnService extends VpnService with BaseService { ...@@ -479,7 +479,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
} }
override def stopBackgroundService() { override def stopBackgroundService() {
stopRunner() stopSelf()
} }
override def getTag = TAG override def getTag = TAG
......
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