diff --git a/app/src/main/java/com/fankes/apperrorstracking/hook/entity/FrameworkHooker.kt b/app/src/main/java/com/fankes/apperrorstracking/hook/entity/FrameworkHooker.kt index 2434e19..fe19e8e 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/hook/entity/FrameworkHooker.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/hook/entity/FrameworkHooker.kt @@ -235,19 +235,20 @@ object FrameworkHooker : YukiBaseHooker() { } onPushAppListData { filters -> appContext?.let { context -> - arrayListOf().apply { - context.listOfPackages().filter { it.packageName != BuildConfig.APPLICATION_ID }.also { info -> - (if (filters.name.isNotBlank()) info.filter { - it.packageName.contains(filters.name) || context.appNameOf(it.packageName).contains(filters.name) - } else info).let { result -> - if (filters.isContainsSystem.not()) - result.filter { (it.applicationInfo.flags and ApplicationInfo.FLAG_SYSTEM) == 0 } - else result - }.sortedByDescending { it.lastUpdateTime } - .forEach { add(AppInfoBean(name = context.appNameOf(it.packageName), packageName = it.packageName)) } + context.listOfPackages() + .filter { it.packageName.let { e -> e != "android" && e != BuildConfig.APPLICATION_ID } } + .let { info -> + arrayListOf().apply { + (if (filters.name.isNotBlank()) info.filter { + it.packageName.contains(filters.name) || context.appNameOf(it.packageName).contains(filters.name) + } else info).let { result -> + if (filters.isContainsSystem.not()) + result.filter { (it.applicationInfo.flags and ApplicationInfo.FLAG_SYSTEM) == 0 } + else result + }.sortedByDescending { it.lastUpdateTime } + .forEach { add(AppInfoBean(name = context.appNameOf(it.packageName), packageName = it.packageName)) } + }.apply { loggerD(msg = "Fetched installed packages list, size $size") } } - loggerD(msg = "Fetched installed packages list, size $size") - } } ?: arrayListOf() } }