Commit 97e93552 authored by Mygod's avatar Mygod

Always proxy the app itself

No need to keep a confusing option. Fix #1484.
parent 497a7476
...@@ -67,7 +67,8 @@ class AppManager : AppCompatActivity(), Toolbar.OnMenuItemClickListener { ...@@ -67,7 +67,8 @@ class AppManager : AppCompatActivity(), Toolbar.OnMenuItemClickListener {
} }
return synchronized(AppManager) { return synchronized(AppManager) {
val cachedApps = cachedApps ?: pm.getInstalledPackages(PackageManager.GET_PERMISSIONS) val cachedApps = cachedApps ?: pm.getInstalledPackages(PackageManager.GET_PERMISSIONS)
.filter { it.requestedPermissions?.contains(Manifest.permission.INTERNET) ?: false } .filter { it.packageName != app.packageName &&
it.requestedPermissions?.contains(Manifest.permission.INTERNET) ?: false }
.map { ProxiedApp(pm.getApplicationLabel(it.applicationInfo).toString(), it.packageName, .map { ProxiedApp(pm.getApplicationLabel(it.applicationInfo).toString(), it.packageName,
it.applicationInfo.loadIcon(pm)) } it.applicationInfo.loadIcon(pm)) }
.toTypedArray() .toTypedArray()
......
...@@ -141,12 +141,19 @@ class VpnService : BaseVpnService(), LocalDnsService.Interface { ...@@ -141,12 +141,19 @@ class VpnService : BaseVpnService(), LocalDnsService.Interface {
} }
if (Build.VERSION.SDK_INT >= 21 && profile.proxyApps) { if (Build.VERSION.SDK_INT >= 21 && profile.proxyApps) {
for (pkg in profile.individual.split('\n')) try { val me = packageName
if (profile.bypass) builder.addDisallowedApplication(pkg) else builder.addAllowedApplication(pkg) profile.individual.split('\n')
.filter { it != me }
.forEach {
try {
if (profile.bypass) builder.addDisallowedApplication(it)
else builder.addAllowedApplication(it)
} catch (ex: PackageManager.NameNotFoundException) { } catch (ex: PackageManager.NameNotFoundException) {
Log.e(tag, "Invalid package name", ex) Log.e(tag, "Invalid package name", ex)
} }
} }
builder.addAllowedApplication(me)
}
when (profile.route) { when (profile.route) {
Acl.ALL, Acl.BYPASS_CHN, Acl.CUSTOM_RULES -> builder.addRoute("0.0.0.0", 0) Acl.ALL, Acl.BYPASS_CHN, Acl.CUSTOM_RULES -> builder.addRoute("0.0.0.0", 0)
......
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