Skip to content

Commit b0da320

Browse files
authored
Update MainActivity.kt
1 parent 45542f3 commit b0da320

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

app/src/main/kotlin/com/dev/debloater/MainActivity.kt

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -792,25 +792,31 @@ private suspend fun loadAllAppDataWithIcons(
792792
try {
793793
pm.getInstalledPackages(PackageManager.MATCH_ALL or PackageManager.MATCH_UNINSTALLED_PACKAGES)
794794
.asSequence()
795-
.mapNotNull { pkg ->
796-
val app = pkg.applicationInfo ?: return@mapNotNull null
797-
val isInstalled = app.flags and ApplicationInfo.FLAG_INSTALLED != 0
798-
799-
val icon = try {
800-
app.loadIcon(pm).toBitmap().asImageBitmap()
801-
} catch (e: Exception) {
802-
null
795+
.map { pkg ->
796+
val appInfo = pkg.applicationInfo ?: runCatching {
797+
pm.getApplicationInfo(
798+
pkg.packageName,
799+
PackageManager.MATCH_UNINSTALLED_PACKAGES or PackageManager.MATCH_DISABLED_COMPONENTS
800+
)
801+
}.getOrNull()
802+
val isInstalled = appInfo?.flags
803+
?.and(ApplicationInfo.FLAG_INSTALLED)
804+
?.let { it != 0 }
805+
?: false
806+
val icon = appInfo?.let {
807+
runCatching { it.loadIcon(pm).toBitmap().asImageBitmap() }.getOrNull()
803808
}
804809

805810
AppData(
806811
packageName = pkg.packageName,
807-
appName = runCatching {
808-
app.loadLabel(pm).toString()
809-
}.getOrElse { pkg.packageName },
810-
isSystem =
811-
app.flags and ApplicationInfo.FLAG_SYSTEM != 0 ||
812-
app.flags and ApplicationInfo.FLAG_UPDATED_SYSTEM_APP != 0,
813-
isDisabled = !app.enabled,
812+
appName = appInfo?.let {
813+
runCatching { it.loadLabel(pm).toString() }.getOrNull()
814+
} ?: pkg.packageName,
815+
isSystem = appInfo?.let {
816+
it.flags and ApplicationInfo.FLAG_SYSTEM != 0 ||
817+
it.flags and ApplicationInfo.FLAG_UPDATED_SYSTEM_APP != 0
818+
} ?: false,
819+
isDisabled = appInfo?.enabled == false,
814820
isInstalled = isInstalled,
815821
icon = icon
816822
)

0 commit comments

Comments
 (0)