mirror of
https://github.com/SimpleMobileTools/Simple-Launcher.git
synced 2025-02-16 11:31:46 +01:00
properly unregister some widgets for changes
This commit is contained in:
parent
10373af40d
commit
72c6801bc0
@ -91,13 +91,9 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
|||||||
|
|
||||||
fun removeAppIcon(item: HomeScreenGridItem) {
|
fun removeAppIcon(item: HomeScreenGridItem) {
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
context.homeScreenGridItemsDB.deleteById(item.id!!)
|
removeItemFromHomeScreen(item)
|
||||||
if (item.type == ITEM_TYPE_WIDGET) {
|
post {
|
||||||
appWidgetHost.deleteAppWidgetId(item.widgetId)
|
removeView(widgetViews.firstOrNull { it.tag == item.widgetId })
|
||||||
|
|
||||||
post {
|
|
||||||
removeView(widgetViews.firstOrNull { it.tag == item.widgetId })
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gridItems.removeIf { it.id == item.id }
|
gridItems.removeIf { it.id == item.id }
|
||||||
@ -105,6 +101,18 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun removeItemFromHomeScreen(item: HomeScreenGridItem) {
|
||||||
|
ensureBackgroundThread {
|
||||||
|
if (item.id != null) {
|
||||||
|
context.homeScreenGridItemsDB.deleteById(item.id!!)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.type == ITEM_TYPE_WIDGET) {
|
||||||
|
appWidgetHost.deleteAppWidgetId(item.widgetId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun itemDraggingStarted(draggedGridItem: HomeScreenGridItem) {
|
fun itemDraggingStarted(draggedGridItem: HomeScreenGridItem) {
|
||||||
draggedItem = draggedGridItem
|
draggedItem = draggedGridItem
|
||||||
if (draggedItem!!.drawable == null) {
|
if (draggedItem!!.drawable == null) {
|
||||||
@ -288,19 +296,15 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
|||||||
activity.handleWidgetConfigureScreen(appWidgetHost, appWidgetId) { success ->
|
activity.handleWidgetConfigureScreen(appWidgetHost, appWidgetId) { success ->
|
||||||
if (success) {
|
if (success) {
|
||||||
placeAppWidget(appWidgetId, appWidgetProviderInfo, item)
|
placeAppWidget(appWidgetId, appWidgetProviderInfo, item)
|
||||||
} else if (item.id != null) {
|
} else {
|
||||||
ensureBackgroundThread {
|
removeItemFromHomeScreen(item)
|
||||||
context.homeScreenGridItemsDB.deleteById(item.id!!)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
placeAppWidget(appWidgetId, appWidgetProviderInfo, item)
|
placeAppWidget(appWidgetId, appWidgetProviderInfo, item)
|
||||||
}
|
}
|
||||||
} else if (item.id != null) {
|
} else {
|
||||||
ensureBackgroundThread {
|
removeItemFromHomeScreen(item)
|
||||||
context.homeScreenGridItemsDB.deleteById(item.id!!)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user