diff --git a/src/main/scala/com/github/shadowsocks/database/DBHelper.scala b/src/main/scala/com/github/shadowsocks/database/DBHelper.scala index c5c55df1..aee1fe9f 100644 --- a/src/main/scala/com/github/shadowsocks/database/DBHelper.scala +++ b/src/main/scala/com/github/shadowsocks/database/DBHelper.scala @@ -54,9 +54,11 @@ object DBHelper { final val PROFILE = "profile.db" private var apps: mutable.Buffer[ApplicationInfo] = _ + def isAllDigits(x: String) = !x.isEmpty && (x forall Character.isDigit) + def updateProxiedApps(context: Context, old: String) = { synchronized(if (apps == null) apps = context.getPackageManager.getInstalledApplications(0).asScala) - val uidSet = old.split('|').map(_.toInt).toSet + val uidSet = old.split('|').filter(isAllDigits).map(_.toInt).toSet apps.filter(ai => uidSet.contains(ai.uid)).map(_.packageName).mkString("\n") } }