mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 03:08:19 +00:00
Make LauncherModel.deleteItemFromDatabase write to disk async.
Fixes a bunch of StrictMode violations and removes TODOs. Change-Id: I886bd071d4a8336c228d29c517a8ffc5223c0623
This commit is contained in:
@@ -116,7 +116,14 @@ public class DeleteZone extends ImageView implements DropTarget, DragController.
|
||||
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);
|
||||
|
||||
@@ -269,8 +269,12 @@ public class LauncherModel extends BroadcastReceiver {
|
||||
*/
|
||||
static void deleteItemFromDatabase(Context context, ItemInfo item) {
|
||||
final ContentResolver cr = context.getContentResolver();
|
||||
|
||||
cr.delete(LauncherSettings.Favorites.getContentUri(item.id, false), null, null);
|
||||
final Uri uriToDelete = LauncherSettings.Favorites.getContentUri(item.id, false);
|
||||
new Thread("deleteItemFromDatabase") {
|
||||
public void run() {
|
||||
cr.delete(uriToDelete, null, null);
|
||||
}
|
||||
}.start();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1345,7 +1345,6 @@ public class Workspace extends ViewGroup implements DropTarget, DragSource, Drag
|
||||
if (Intent.ACTION_MAIN.equals(intent.getAction()) && name != null) {
|
||||
for (String packageName: packageNames) {
|
||||
if (packageName.equals(name.getPackageName())) {
|
||||
// TODO: This should probably be done on a worker thread
|
||||
LauncherModel.deleteItemFromDatabase(mLauncher, info);
|
||||
childrenToRemove.add(view);
|
||||
}
|
||||
@@ -1367,9 +1366,7 @@ public class Workspace extends ViewGroup implements DropTarget, DragSource, Drag
|
||||
for (String packageName: packageNames) {
|
||||
if (packageName.equals(name.getPackageName())) {
|
||||
toRemove.add(appInfo);
|
||||
// TODO: This should probably be done on a worker thread
|
||||
LauncherModel.deleteItemFromDatabase(
|
||||
mLauncher, appInfo);
|
||||
LauncherModel.deleteItemFromDatabase(mLauncher, appInfo);
|
||||
removedFromFolder = true;
|
||||
}
|
||||
}
|
||||
@@ -1390,7 +1387,6 @@ public class Workspace extends ViewGroup implements DropTarget, DragSource, Drag
|
||||
if (providerInfo != null) {
|
||||
for (String packageName: packageNames) {
|
||||
if (packageName.equals(providerInfo.packageName)) {
|
||||
// TODO: This should probably be done on a worker thread
|
||||
LauncherModel.deleteItemFromDatabase(mLauncher, info);
|
||||
childrenToRemove.add(view);
|
||||
}
|
||||
@@ -1403,7 +1399,6 @@ public class Workspace extends ViewGroup implements DropTarget, DragSource, Drag
|
||||
if (provider != null) {
|
||||
for (String packageName: packageNames) {
|
||||
if (packageName.equals(provider.provider.getPackageName())) {
|
||||
// TODO: This should probably be done on a worker thread
|
||||
LauncherModel.deleteItemFromDatabase(mLauncher, info);
|
||||
childrenToRemove.add(view);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user