Skip to content

Commit 65ace16

Browse files
committed
Ensure shifting happens only after folder has been properly saved
This fixes #130
1 parent f8fccf9 commit 65ace16

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

app/src/main/kotlin/com/simplemobiletools/launcher/views/HomeScreenGrid.kt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -690,9 +690,20 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
690690
draggedItem!!.activityInfo
691691
)
692692

693+
fun finalizeFolderOrder(newItem: HomeScreenGridItem) {
694+
if (newParentId != null && gridItems.any { it.parentId == newParentId && it.left == newItem.left }) {
695+
gridItems.filter { it.parentId == newParentId && it.left >= newItem.left && it.id != newItem.id}.forEach {
696+
it.left += 1
697+
}
698+
699+
context.homeScreenGridItemsDB.shiftFolderItems(newParentId, newItem.left - 1, +1, newItem.id)
700+
}
701+
}
702+
693703
if (newHomeScreenGridItem.type == ITEM_TYPE_ICON) {
694704
ensureBackgroundThread {
695705
storeAndShowGridItem(newHomeScreenGridItem)
706+
finalizeFolderOrder(newHomeScreenGridItem)
696707
}
697708
} else if (newHomeScreenGridItem.type == ITEM_TYPE_SHORTCUT) {
698709
(context as? MainActivity)?.handleShorcutCreation(newHomeScreenGridItem.activityInfo!!) { shortcutId, label, icon ->
@@ -702,19 +713,10 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
702713
newHomeScreenGridItem.icon = icon.toBitmap()
703714
newHomeScreenGridItem.drawable = icon
704715
storeAndShowGridItem(newHomeScreenGridItem)
716+
finalizeFolderOrder(newHomeScreenGridItem)
705717
}
706718
}
707719
}
708-
709-
ensureBackgroundThread {
710-
if (newParentId != null && gridItems.any { it.parentId == newParentId && it.left == finalXIndex }) {
711-
gridItems.filter { it.parentId == newParentId && it.left >= finalXIndex }.forEach {
712-
it.left += 1
713-
}
714-
715-
context.homeScreenGridItemsDB.shiftFolderItems(newParentId, left - 1, +1)
716-
}
717-
}
718720
}
719721

720722
draggedItem = null

0 commit comments

Comments
 (0)