From 63569a4448a2338b343b3690e652dba51afde070 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Mon, 7 Dec 2015 17:15:28 +0800 Subject: [PATCH] fix a crash when upgrading database --- src/main/scala/com/github/shadowsocks/database/DBHelper.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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") } }