1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-11-27 19:52:17 -05:00

Bulk delete for WebDAV

This commit is contained in:
Daniel Applebaum 2009-11-29 18:33:42 +00:00
parent 1b3d0eb992
commit 3126298b46

View File

@ -1254,22 +1254,22 @@ public class WebDavStore extends Store
@Override @Override
public void copyMessages(Message[] messages, Folder folder) throws MessagingException public void copyMessages(Message[] messages, Folder folder) throws MessagingException
{ {
moveOrCopyMessages(messages, folder, false); moveOrCopyMessages(messages, folder.getName(), false);
} }
@Override @Override
public void moveMessages(Message[] messages, Folder folder) throws MessagingException public void moveMessages(Message[] messages, Folder folder) throws MessagingException
{ {
moveOrCopyMessages(messages, folder, true); moveOrCopyMessages(messages, folder.getName(), true);
} }
private void moveOrCopyMessages(Message[] messages, Folder folder, boolean isMove) throws MessagingException @Override
public void delete(Message[] msgs, String trashFolderName) throws MessagingException
{ {
moveOrCopyMessages(msgs, trashFolderName, true);
if (folder instanceof WebDavFolder == false)
{
throw new MessagingException("moveMessages passed non-WebDavFolder");
} }
private void moveOrCopyMessages(Message[] messages, String folderName, boolean isMove) throws MessagingException
{
String[] uids = new String[messages.length]; String[] uids = new String[messages.length];
for (int i = 0, count = messages.length; i < count; i++) for (int i = 0, count = messages.length; i < count; i++)
@ -1292,15 +1292,13 @@ public class WebDavStore extends Store
} }
messageBody = getMoveOrCopyMessagesReadXml(urls, isMove); messageBody = getMoveOrCopyMessagesReadXml(urls, isMove);
WebDavFolder destFolder = (WebDavFolder)store.getFolder(folder.getName()); WebDavFolder destFolder = (WebDavFolder)store.getFolder(folderName);
headers.put("Destination", destFolder.mFolderUrl); headers.put("Destination", destFolder.mFolderUrl);
headers.put("Brief", "t"); headers.put("Brief", "t");
headers.put("If-Match", "*"); headers.put("If-Match", "*");
String action = (isMove ? "BMOVE" : "BCOPY"); String action = (isMove ? "BMOVE" : "BCOPY");
Log.i(Email.LOG_TAG, "Moving " + messages.length + " messages to " + destFolder.mFolderUrl); Log.i(Email.LOG_TAG, "Moving " + messages.length + " messages to " + destFolder.mFolderUrl);
processRequest(mFolderUrl, action, messageBody, headers, false); processRequest(mFolderUrl, action, messageBody, headers, false);
} }