Always proxy the app itself
No need to keep a confusing option. Fix #1484.
This commit is contained in:
@@ -67,7 +67,8 @@ class AppManager : AppCompatActivity(), Toolbar.OnMenuItemClickListener {
|
||||
}
|
||||
return synchronized(AppManager) {
|
||||
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,
|
||||
it.applicationInfo.loadIcon(pm)) }
|
||||
.toTypedArray()
|
||||
|
||||
@@ -141,11 +141,18 @@ class VpnService : BaseVpnService(), LocalDnsService.Interface {
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 21 && profile.proxyApps) {
|
||||
for (pkg in profile.individual.split('\n')) try {
|
||||
if (profile.bypass) builder.addDisallowedApplication(pkg) else builder.addAllowedApplication(pkg)
|
||||
} catch (ex: PackageManager.NameNotFoundException) {
|
||||
Log.e(tag, "Invalid package name", ex)
|
||||
}
|
||||
val me = packageName
|
||||
profile.individual.split('\n')
|
||||
.filter { it != me }
|
||||
.forEach {
|
||||
try {
|
||||
if (profile.bypass) builder.addDisallowedApplication(it)
|
||||
else builder.addAllowedApplication(it)
|
||||
} catch (ex: PackageManager.NameNotFoundException) {
|
||||
Log.e(tag, "Invalid package name", ex)
|
||||
}
|
||||
}
|
||||
builder.addAllowedApplication(me)
|
||||
}
|
||||
|
||||
when (profile.route) {
|
||||
|
||||
Reference in New Issue
Block a user