Folder auto-destroys itself when there is only one item left.

Change-Id: I4ea41e0730e3dc474a518eba0a04c11167b5c1df
This commit is contained in:
Adam Cohen
2011-06-23 15:38:03 -07:00
parent 4e076545e4
commit afb01ee742
2 changed files with 62 additions and 5 deletions
+22 -4
View File
@@ -380,15 +380,33 @@ public class LauncherModel extends BroadcastReceiver {
});
}
static void deleteFolderContentsFromDatabase(Context context, final FolderInfo info) {
deleteFolderContentsFromDatabase(context, info, false);
}
/**
* Remove the contents of the specified folder from the database
*/
static void deleteFolderContentsFromDatabase(Context context, FolderInfo info) {
static void deleteFolderContentsFromDatabase(Context context, final FolderInfo info,
boolean post) {
// TODO: this post flag is temporary to fix an ordering of commands issue. In future,
// all db operations will be moved to the worker thread, so this can be discarded at
// that time.
final ContentResolver cr = context.getContentResolver();
cr.delete(LauncherSettings.Favorites.getContentUri(info.id, false), null, null);
cr.delete(LauncherSettings.Favorites.CONTENT_URI,
LauncherSettings.Favorites.CONTAINER + "=" + info.id, null);
if (!post) {
cr.delete(LauncherSettings.Favorites.getContentUri(info.id, false), null, null);
cr.delete(LauncherSettings.Favorites.CONTENT_URI,
LauncherSettings.Favorites.CONTAINER + "=" + info.id, null);
} else {
sWorker.post(new Runnable() {
public void run() {
cr.delete(LauncherSettings.Favorites.getContentUri(info.id, false), null, null);
cr.delete(LauncherSettings.Favorites.CONTENT_URI,
LauncherSettings.Favorites.CONTAINER + "=" + info.id, null);
}
});
}
}
/**