From 7d44e4fc9f1dbba85b7fdaa37488281482fde6db Mon Sep 17 00:00:00 2001 From: Max Lv Date: Sun, 27 Dec 2015 16:48:46 +0800 Subject: [PATCH] Catch NameNotFoundException --- .../shadowsocks/ShadowsocksVpnService.scala | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala index d0ecfeaf..9244559f 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala @@ -49,6 +49,8 @@ import android.net.VpnService import android.os._ import android.util.Log import android.widget.Toast +import android.content.pm.PackageManager.NameNotFoundException + import com.github.shadowsocks.aidl.Config import com.github.shadowsocks.utils._ import org.apache.commons.net.util.SubnetUtils @@ -381,10 +383,15 @@ class ShadowsocksVpnService extends VpnService with BaseService { if (config.isProxyApps) { for (pkg <- config.proxiedAppString.split('\n')) { - if (!config.isBypassApps) { - builder.addAllowedApplication(pkg) - } else { - builder.addDisallowedApplication(pkg) + try { + if (!config.isBypassApps) { + builder.addAllowedApplication(pkg) + } else { + builder.addDisallowedApplication(pkg) + } + } catch { + case ex: NameNotFoundException => + Log.e(TAG, "Invalid package name", ex); } } }