From d1e615f55ca28acb44caca153b5cc4e40257c4ce Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 26 Oct 2022 10:03:20 +0200 Subject: [PATCH] remove hidden icons from cached ones too --- .../launcher/activities/MainActivity.kt | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt index d4c9d9f..c12df4b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt @@ -175,7 +175,21 @@ class MainActivity : SimpleActivity(), FlingListener { ensureBackgroundThread { if (mCachedLaunchers.isEmpty()) { - mCachedLaunchers = launchersDB.getAppLaunchers() as ArrayList + val hiddenIcons = hiddenIconsDB.getHiddenIcons().map { + it.getIconIdentifier() + } + + mCachedLaunchers = launchersDB.getAppLaunchers().filter { + val showIcon = !hiddenIcons.contains(it.getLauncherIdentifier()) + if (!showIcon) { + try { + launchersDB.deleteById(it.id!!) + } catch (ignored: Exception) { + } + } + showIcon + }.toMutableList() as ArrayList + (all_apps_fragment as AllAppsFragment).gotLaunchers(mCachedLaunchers) } @@ -327,9 +341,7 @@ class MainActivity : SimpleActivity(), FlingListener { (Math.abs(mTouchDownX - event.x) > mMoveGestureThreshold) || (Math.abs(mTouchDownY - event.y) > mMoveGestureThreshold) private fun refetchLaunchers() { - val hiddenIcons = hiddenIconsDB.getHiddenIcons().map { it.getIconIdentifier() } - val launchers = getAllAppLaunchers().filter { !hiddenIcons.contains(it.getLauncherIdentifier()) }.toMutableList() as ArrayList - + val launchers = getAllAppLaunchers() (all_apps_fragment as AllAppsFragment).gotLaunchers(launchers) (widgets_fragment as WidgetsFragment).getAppWidgets() @@ -632,6 +644,7 @@ class MainActivity : SimpleActivity(), FlingListener { @SuppressLint("WrongConstant") fun getAllAppLaunchers(): ArrayList { + val hiddenIcons = hiddenIconsDB.getHiddenIcons().map { it.getIconIdentifier() } val allApps = ArrayList() val intent = Intent(Intent.ACTION_MAIN, null) intent.addCategory(Intent.CATEGORY_LAUNCHER) @@ -646,10 +659,14 @@ class MainActivity : SimpleActivity(), FlingListener { continue } + val activityName = info.activityInfo.name + if (hiddenIcons.contains("$packageName/$activityName")) { + continue + } + val label = info.loadLabel(packageManager).toString() val drawable = info.loadIcon(packageManager) ?: getDrawableForPackageName(packageName) ?: continue val placeholderColor = calculateAverageColor(drawable.toBitmap()) - val activityName = info.activityInfo.name allApps.add(AppLauncher(null, label, packageName, activityName, 0, placeholderColor, drawable)) }