diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index 9a51b96d..a7e489d0 100644
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -92,8 +92,7 @@
Сканировать QR код\nAndroid Beam отключен
Включить NFC & Android Beam
Очистить кэш DNS
- Работает только в режиме NAT
- Работает только в режиме NAT. Требует наличия ROOT прав.
+ Работает только в режиме NAT. Требует наличия ROOT прав.
Очистка кэша DNS не работает без налиичя ROOT прав
Очистка
Добавить Профиль
diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml
index 40252f06..2823c53d 100644
--- a/src/main/res/values-zh-rCN/strings.xml
+++ b/src/main/res/values-zh-rCN/strings.xml
@@ -58,8 +58,7 @@
关于
影梭(shadowsocks)%s
刷新 DNS 缓存
- 只需在 NAT 模式下使用
- 只需在 NAT 模式下使用,需要 ROOT 权限
+ 只需在 NAT 模式下使用,需要 ROOT 权限
在没有 ROOT 权限的情况下无法刷新 DNS 缓存
刷新中……
分享
diff --git a/src/main/res/values-zh/strings.xml b/src/main/res/values-zh/strings.xml
index 76bd9b08..2f15dab4 100644
--- a/src/main/res/values-zh/strings.xml
+++ b/src/main/res/values-zh/strings.xml
@@ -59,8 +59,7 @@
關於
Shadowsocks %s
清除 DNS 快取
- 僅在 NAT 模式可用
- 僅在 NAT 模式可用,需要 ROOT 權限
+ 僅在 NAT 模式可用,需要 ROOT 權限
在無 ROOT 權限時清除 DNS 快取無法進行
清除中……
分享
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index d13dc92a..ac007a7d 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -98,8 +98,7 @@
Scan QR code\nAndroid Beam is disabled
Turn on NFC & Android Beam
Flush DNS cache
- Only useful in NAT mode
- Only useful in NAT mode. Requires ROOT permission.
+ Only useful in NAT mode. Requires ROOT permission.
Flush DNS cache cannot proceed without ROOT permission
Flushing
Add Profile
diff --git a/src/main/res/xml/pref_all.xml b/src/main/res/xml/pref_all.xml
index 6c85273b..503ca76f 100644
--- a/src/main/res/xml/pref_all.xml
+++ b/src/main/res/xml/pref_all.xml
@@ -117,7 +117,7 @@
android:summary="@string/recovery_summary"/>
+ android:summary="@string/flush_dnscache_summary"/>
diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala
index 5ee2b851..25cde98c 100644
--- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala
+++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala
@@ -500,11 +500,8 @@ class Shadowsocks extends AppCompatActivity with ServiceBoundContext {
clearDialog()
}
- private var _isDestroyed: Boolean = _
- override def isDestroyed = if (Build.VERSION.SDK_INT >= 17) super.isDestroyed else _isDestroyed
override def onDestroy() {
super.onDestroy()
- _isDestroyed = true
detachService()
new BackupManager(this).dataChanged()
handler.removeCallbacksAndMessages(null)
diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala
index fe02b325..758b9558 100644
--- a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala
+++ b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala
@@ -5,7 +5,7 @@ import java.util.Locale
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
import android.content.{Intent, SharedPreferences}
import android.net.Uri
-import android.os.{Build, Bundle}
+import android.os.Bundle
import android.preference.{Preference, PreferenceFragment, SwitchPreference}
import android.support.v7.app.AlertDialog
import android.webkit.{WebView, WebViewClient}
@@ -160,9 +160,7 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan
true
})
- val flush = findPreference("flush_dnscache")
- if (Build.VERSION.SDK_INT < 17) flush.setSummary(R.string.flush_dnscache_summary)
- flush.setOnPreferenceClickListener(_ => {
+ findPreference("flush_dnscache").setOnPreferenceClickListener(_ => {
app.track(TAG, "flush_dnscache")
activity.flushDnsCache()
true
diff --git a/src/main/scala/com/github/shadowsocks/utils/Utils.scala b/src/main/scala/com/github/shadowsocks/utils/Utils.scala
index 1b2abdcd..bb7d78d9 100644
--- a/src/main/scala/com/github/shadowsocks/utils/Utils.scala
+++ b/src/main/scala/com/github/shadowsocks/utils/Utils.scala
@@ -46,7 +46,6 @@ import android.content.pm.PackageManager
import android.content.{Context, Intent}
import android.graphics._
import android.os.Build
-import android.provider.Settings
import android.util.{Base64, DisplayMetrics, Log}
import android.view.View.MeasureSpec
import android.view.{Gravity, View, Window}
@@ -128,25 +127,7 @@ object Utils {
// Blocked > 3 seconds
def toggleAirplaneMode(context: Context) = {
val result = Shell.SU.run(FLUSH_DNS)
- if (result != null && !result.isEmpty) true else if (Build.VERSION.SDK_INT < 17) {
- toggleBelowApiLevel17(context)
- true
- } else false
- }
-
- //noinspection ScalaDeprecation
- private def toggleBelowApiLevel17(context: Context) {
- // Android 4.2 below
- Settings.System.putInt(context.getContentResolver, Settings.System.AIRPLANE_MODE_ON, 1)
- val enableIntent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED)
- enableIntent.putExtra("state", true)
- context.sendBroadcast(enableIntent)
- Thread.sleep(3000)
-
- Settings.System.putInt(context.getContentResolver, Settings.System.AIRPLANE_MODE_ON, 0)
- val disableIntent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED)
- disableIntent.putExtra("state", false)
- context.sendBroadcast(disableIntent)
+ result != null && !result.isEmpty
}
def resolve(host: String, addrType: Int): Option[String] = {