Make LauncherModel.deleteItemFromDatabase write to disk async.
Fixes a bunch of StrictMode violations and removes TODOs.
Change-Id: I886bd071d4a8336c228d29c517a8ffc5223c0623
diff --git a/src/com/android/launcher2/DeleteZone.java b/src/com/android/launcher2/DeleteZone.java
index 3a6c63d..4e8b204 100644
--- a/src/com/android/launcher2/DeleteZone.java
+++ b/src/com/android/launcher2/DeleteZone.java
@@ -116,7 +116,14 @@
final LauncherAppWidgetInfo launcherAppWidgetInfo = (LauncherAppWidgetInfo) item;
final LauncherAppWidgetHost appWidgetHost = mLauncher.getAppWidgetHost();
if (appWidgetHost != null) {
- appWidgetHost.deleteAppWidgetId(launcherAppWidgetInfo.appWidgetId);
+ final int appWidgetId = launcherAppWidgetInfo.appWidgetId;
+ // Deleting an app widget ID is a void call but writes to disk before returning
+ // to the caller...
+ new Thread("deleteAppWidgetId") {
+ public void run() {
+ appWidgetHost.deleteAppWidgetId(launcherAppWidgetInfo.appWidgetId);
+ }
+ }.start();
}
}
LauncherModel.deleteItemFromDatabase(mLauncher, item);