From 68382d274697e84d04fd651e7284f327611e693f Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sun, 17 Apr 2022 13:51:08 +0200 Subject: [PATCH] Don't remove main profile app if an app with the same package name has been uninstalled from work profile --- .../java/de/mm20/launcher2/applications/AppRepository.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/applications/src/main/java/de/mm20/launcher2/applications/AppRepository.kt b/applications/src/main/java/de/mm20/launcher2/applications/AppRepository.kt index c54ede69..e2bcfd62 100644 --- a/applications/src/main/java/de/mm20/launcher2/applications/AppRepository.kt +++ b/applications/src/main/java/de/mm20/launcher2/applications/AppRepository.kt @@ -35,7 +35,7 @@ internal class AppRepositoryImpl( private val launcherApps = context.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps - private val installedApps = MutableStateFlow>(emptyList()) + private val installedApps = MutableStateFlow>(emptyList()) private val installations = MutableStateFlow>(mutableListOf()) private val hiddenItems = hiddenItemsRepository.hiddenItemsKeys private val suspendedPackages = MutableStateFlow>(emptyList()) @@ -85,7 +85,7 @@ internal class AppRepositoryImpl( } override fun onPackageRemoved(packageName: String, user: UserHandle) { - installedApps.value = installedApps.value.filter { packageName != (it.`package`) } + installedApps.value = installedApps.value.filter { packageName != (it.`package`) || it.getUser() != user } } override fun onShortcutsChanged( @@ -167,7 +167,7 @@ internal class AppRepositoryImpl( return suspendedPackages } - private fun getApplications(packageName: String): List { + private fun getApplications(packageName: String): List { if (packageName == context.packageName) return emptyList() return profiles.map { p -> @@ -179,7 +179,7 @@ internal class AppRepositoryImpl( private fun getApplication( launcherActivityInfo: LauncherActivityInfo, profile: UserHandle - ): Application? { + ): LauncherApp? { if (launcherActivityInfo.applicationInfo.packageName == context.packageName && !context.packageName.endsWith( ".debug" )