Commit 68db3666 authored by vvb2060's avatar vvb2060 Committed by John Wu

Delete outdated policies

parent 35853871
......@@ -55,11 +55,16 @@ class SuperuserViewModel(
state = State.LOADING
val (policies, diff) = withContext(Dispatchers.IO) {
db.deleteOutdated()
db.delete(AppContext.applicationInfo.uid)
val policies = ArrayList<PolicyRvItem>()
val pm = AppContext.packageManager
for (policy in db.fetchAll()) {
val pkgs = pm.getPackagesForUid(policy.uid) ?: continue
policies.addAll(pkgs.mapNotNull { pkg ->
val pkgs = pm.getPackagesForUid(policy.uid)
if (pkgs == null) {
db.delete(policy.uid)
continue
}
val map = pkgs.mapNotNull { pkg ->
try {
val info = pm.getPackageInfo(pkg, MATCH_UNINSTALLED_PACKAGES)
PolicyRvItem(
......@@ -72,7 +77,12 @@ class SuperuserViewModel(
} catch (e: PackageManager.NameNotFoundException) {
null
}
})
}
if (map.isEmpty()) {
db.delete(policy.uid)
continue
}
policies.addAll(map)
}
policies.sortWith(compareBy(
{ it.appName.lowercase(currentLocale) },
......
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