From 4df691fcb04a929f9fcfe01bb869c5d41e49a3da Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sun, 16 Apr 2023 18:42:20 +0200 Subject: [PATCH] Fix crashes Close #297 --- .../de/mm20/launcher2/ui/component/SearchActionIcon.kt | 7 ++++++- .../launcher2/ui/launcher/widgets/music/MusicWidget.kt | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/component/SearchActionIcon.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/component/SearchActionIcon.kt index 752a0fb7..c50fd996 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/component/SearchActionIcon.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/component/SearchActionIcon.kt @@ -1,6 +1,7 @@ package de.mm20.launcher2.ui.component import android.content.ComponentName +import android.content.pm.PackageManager import android.graphics.drawable.Drawable import androidx.compose.foundation.layout.size import androidx.compose.material.icons.Icons @@ -81,7 +82,11 @@ fun SearchActionIcon( LaunchedEffect(componentName) { drawable = withContext(Dispatchers.IO) { - context.packageManager.getActivityIcon(componentName) + try { + context.packageManager.getActivityIcon(componentName) + } catch (e: PackageManager.NameNotFoundException) { + null + } } } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/music/MusicWidget.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/music/MusicWidget.kt index 2ab3a145..bb4503d1 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/music/MusicWidget.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/music/MusicWidget.kt @@ -1,5 +1,6 @@ package de.mm20.launcher2.ui.launcher.widgets.music +import android.content.pm.PackageManager import android.content.res.Resources import android.media.session.PlaybackState.CustomAction import androidx.appcompat.app.AppCompatActivity @@ -416,7 +417,11 @@ fun CustomActionIcon(action: CustomAction, playerPackage: String?) { val context = LocalContext.current val resources = remember(playerPackage) { playerPackage?.let { - context.packageManager.getResourcesForApplication(it) + try { + context.packageManager.getResourcesForApplication(it) + } catch (e: PackageManager.NameNotFoundException) { + null + } } }