Skip to content

Commit 54b4b46

Browse files
committed
remove hidden icons with a fade animation
1 parent 6833d5c commit 54b4b46

File tree

6 files changed

+25
-1
lines changed

6 files changed

+25
-1
lines changed

app/src/main/kotlin/com/simplemobiletools/launcher/activities/HiddenIconsActivity.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ class HiddenIconsActivity : SimpleActivity(), RefreshRecyclerViewListener {
5656
drawable = info.loadIcon(packageManager) ?: getDrawableForPackageName(packageName)
5757
}
5858
}
59+
60+
hiddenIcons.firstOrNull { it.packageName == applicationContext.packageName }?.apply {
61+
drawable = getDrawableForPackageName(packageName)
62+
}
5963
}
6064

6165
runOnUiThread {

app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,10 @@ class MainActivity : SimpleActivity(), FlingListener {
573573
ensureBackgroundThread {
574574
val hiddenIcon = HiddenIcon(null, item.packageName, item.activityName, item.title, null)
575575
hiddenIconsDB.insert(hiddenIcon)
576-
refetchLaunchers()
576+
577+
runOnUiThread {
578+
(all_apps_fragment as AllAppsFragment).hideIcon(item)
579+
}
577580
}
578581
}
579582

app/src/main/kotlin/com/simplemobiletools/launcher/adapters/HiddenIconsAdapter.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class HiddenIconsAdapter(
3131

3232
init {
3333
calculateIconWidth()
34+
setupDragListener(true)
3435
}
3536

3637
override fun getActionMenuId() = R.menu.cab_hidden_icons

app/src/main/kotlin/com/simplemobiletools/launcher/adapters/LaunchersAdapter.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import com.simplemobiletools.launcher.R
1717
import com.simplemobiletools.launcher.activities.SimpleActivity
1818
import com.simplemobiletools.launcher.interfaces.AllAppsListener
1919
import com.simplemobiletools.launcher.models.AppLauncher
20+
import com.simplemobiletools.launcher.models.HomeScreenGridItem
2021
import kotlinx.android.synthetic.main.item_launcher_label.view.*
2122

2223
class LaunchersAdapter(
@@ -58,6 +59,15 @@ class LaunchersAdapter(
5859
iconPadding = (iconWidth * 0.1f).toInt()
5960
}
6061

62+
fun hideIcon(item: HomeScreenGridItem) {
63+
val itemToRemove = launchers.firstOrNull { it.getLauncherIdentifier() == item.getItemIdentifier() }
64+
if (itemToRemove != null) {
65+
val position = launchers.indexOf(itemToRemove)
66+
launchers.remove(itemToRemove)
67+
notifyItemRemoved(position)
68+
}
69+
}
70+
6171
fun updateItems(newItems: ArrayList<AppLauncher>) {
6272
val oldSum = launchers.sumOf { it.getHashToCompare() }
6373
val newSum = newItems.sumOf { it.getHashToCompare() }

app/src/main/kotlin/com/simplemobiletools/launcher/fragments/AllAppsFragment.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@ class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment
117117
}
118118
}
119119

120+
fun hideIcon(item: HomeScreenGridItem) {
121+
(all_apps_grid.adapter as? LaunchersAdapter)?.hideIcon(item)
122+
}
123+
120124
fun setupViews(addTopPadding: Boolean = hasTopPadding) {
121125
if (activity == null) {
122126
return

app/src/main/kotlin/com/simplemobiletools/launcher/models/HomeScreenGridItem.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,6 @@ data class HomeScreenGridItem(
4444
} else {
4545
bottom - top + 1
4646
}
47+
48+
fun getItemIdentifier() = "$packageName/$activityName"
4749
}

0 commit comments

Comments
 (0)