diff --git a/project/plugins.sbt b/project/plugins.sbt
index b214e4ef..2371805a 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,4 +1,4 @@
-addSbtPlugin("org.scala-android" % "sbt-android" % "1.6.5")
+addSbtPlugin("org.scala-android" % "sbt-android" % "1.6.6")
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.1.10")
diff --git a/src/main/res/drawable/ic_done_all.xml b/src/main/res/drawable/ic_done_all.xml
new file mode 100644
index 00000000..3fa4edb5
--- /dev/null
+++ b/src/main/res/drawable/ic_done_all.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/main/res/menu/app_manager_menu.xml b/src/main/res/menu/app_manager_menu.xml
index 6eaa911d..8ff03d16 100644
--- a/src/main/res/menu/app_manager_menu.xml
+++ b/src/main/res/menu/app_manager_menu.xml
@@ -1,15 +1,21 @@
diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index 05ccf465..491edb37 100644
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -100,6 +100,8 @@
Очистка кэша DNS не работает без налиичя ROOT прав
Очистка
Добавить Профиль
+
+ Применить настройки для всех профилей
Экспортировать в буфер обмена
Импортировать из буфера обмена
Успешный экспорт!
diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml
index 997ba8c1..e1f1c025 100644
--- a/src/main/res/values-zh-rCN/strings.xml
+++ b/src/main/res/values-zh-rCN/strings.xml
@@ -113,6 +113,7 @@
- 绕过局域网及中国大陆地址
+ 应用设置到所有配置文件
导出至剪贴板
从剪贴板导入
导出至剪贴板成功
diff --git a/src/main/res/values-zh/strings.xml b/src/main/res/values-zh/strings.xml
index fb60aad5..6e1d13e7 100644
--- a/src/main/res/values-zh/strings.xml
+++ b/src/main/res/values-zh/strings.xml
@@ -115,6 +115,7 @@
- 略過區域網路及中國大陸位址
+ 應用設置到所有配置文件
匯出至剪貼簿
從剪貼簿匯入
匯出至剪貼簿成功
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index c1d42c21..4c2bbbb1 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -102,6 +102,7 @@
Flush DNS cache cannot proceed without ROOT permission
Flushing
Add Profile
+ Apply Settings to All Profiles
Export to Clipboard
Import from Clipboard
Successfully export!
diff --git a/src/main/scala/com/github/shadowsocks/AppManager.scala b/src/main/scala/com/github/shadowsocks/AppManager.scala
index ea5b0689..9aae3f11 100644
--- a/src/main/scala/com/github/shadowsocks/AppManager.scala
+++ b/src/main/scala/com/github/shadowsocks/AppManager.scala
@@ -157,6 +157,18 @@ class AppManager extends AppCompatActivity with OnMenuItemClickListener {
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE).asInstanceOf[ClipboardManager]
val prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext)
item.getItemId match {
+ case R.id.action_apply_all =>
+ app.profileManager.getAllProfiles match {
+ case Some(profiles) =>
+ val proxiedAppString = prefs.getString(Key.proxied, "")
+ profiles.foreach(profile =>
+ profile.individual = proxiedAppString
+ app.profileManager.updateProfile(profile)
+ )
+ Toast.makeText(this, R.string.action_apply_all, Toast.LENGTH_SHORT).show
+ case _ => Toast.makeText(this, R.string.action_export_err, Toast.LENGTH_SHORT).show
+ }
+ return true
case R.id.action_export =>
val bypass = prefs.getBoolean(Key.isBypassApps, false)
val proxiedAppString = prefs.getString(Key.proxied, "")