diff --git a/app/src/main/java/com/aurora/extensions/PackageInfo.kt b/app/src/main/java/com/aurora/extensions/PackageInfo.kt index 6b55ccd68..a58237ee9 100644 --- a/app/src/main/java/com/aurora/extensions/PackageInfo.kt +++ b/app/src/main/java/com/aurora/extensions/PackageInfo.kt @@ -1,11 +1,15 @@ package com.aurora.extensions import android.content.pm.PackageInfo +import android.content.pm.PackageManager import android.os.Process -fun PackageInfo.isValidApp(): Boolean { +fun PackageInfo.isValidApp(packageManager: PackageManager): Boolean { if (this.applicationInfo == null || this.packageName.isEmpty()) return false + // Most core AOSP system apps use their package name as label + if (this.applicationInfo!!.loadLabel(packageManager).startsWith(this.packageName)) return false + return when { isQAndAbove() -> { Process.isApplicationUid(this.applicationInfo!!.uid) && diff --git a/app/src/main/java/com/aurora/store/util/PackageUtil.kt b/app/src/main/java/com/aurora/store/util/PackageUtil.kt index 4829786cc..896ae6ef3 100644 --- a/app/src/main/java/com/aurora/store/util/PackageUtil.kt +++ b/app/src/main/java/com/aurora/store/util/PackageUtil.kt @@ -236,7 +236,7 @@ object PackageUtil { Preferences.PREFERENCE_UPDATES_EXTENDED ) - packageInfoList = packageInfoList.filter { it.isValidApp() } + packageInfoList = packageInfoList.filter { it.isValidApp(packageManager) } /*Filter google apps*/ if (isGoogleFilterEnabled) { diff --git a/app/src/main/java/com/aurora/store/viewmodel/all/BlacklistViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/all/BlacklistViewModel.kt index 100d40a88..5cf6c42e0 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/all/BlacklistViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/all/BlacklistViewModel.kt @@ -58,11 +58,7 @@ class BlacklistViewModel @Inject constructor( supervisorScope { try { _packages.value = context.packageManager.getInstalledPackages(0) - .filter { it.isValidApp() } - .filter { - // Most core AOSP system apps use their package name as label - it.applicationInfo!!.loadLabel(context.packageManager) != it.packageName - } + .filter { it.isValidApp(context.packageManager) } .sortedBy { it.applicationInfo!!.loadLabel(context.packageManager).toString() .lowercase(Locale.getDefault())