Fixed UID mapping return value of LocalStore.moveMessages()
This commit is contained in:
parent
4ed77c7a29
commit
023c60513e
1 changed files with 10 additions and 2 deletions
|
@ -1963,7 +1963,10 @@ public class LocalStore extends Store implements Serializable {
|
||||||
Log.d(K9.LOG_TAG, "Updating folder_id to " + lDestFolder.getId() + " for message with UID "
|
Log.d(K9.LOG_TAG, "Updating folder_id to " + lDestFolder.getId() + " for message with UID "
|
||||||
+ message.getUid() + ", id " + lMessage.getId() + " currently in folder " + getName());
|
+ message.getUid() + ", id " + lMessage.getId() + " currently in folder " + getName());
|
||||||
|
|
||||||
message.setUid(K9.LOCAL_UID_PREFIX + UUID.randomUUID().toString());
|
String newUid = K9.LOCAL_UID_PREFIX + UUID.randomUUID().toString();
|
||||||
|
message.setUid(newUid);
|
||||||
|
|
||||||
|
uidMap.put(oldUID, newUid);
|
||||||
|
|
||||||
db.execSQL("UPDATE messages " + "SET folder_id = ?, uid = ? " + "WHERE id = ?", new Object[] {
|
db.execSQL("UPDATE messages " + "SET folder_id = ?, uid = ? " + "WHERE id = ?", new Object[] {
|
||||||
lDestFolder.getId(),
|
lDestFolder.getId(),
|
||||||
|
@ -1971,10 +1974,15 @@ public class LocalStore extends Store implements Serializable {
|
||||||
lMessage.getId()
|
lMessage.getId()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add a placeholder message so we won't download the original
|
||||||
|
* message again if we synchronize before the remote move is
|
||||||
|
* complete.
|
||||||
|
*/
|
||||||
LocalMessage placeHolder = new LocalMessage(oldUID, LocalFolder.this);
|
LocalMessage placeHolder = new LocalMessage(oldUID, LocalFolder.this);
|
||||||
placeHolder.setFlagInternal(Flag.DELETED, true);
|
placeHolder.setFlagInternal(Flag.DELETED, true);
|
||||||
placeHolder.setFlagInternal(Flag.SEEN, true);
|
placeHolder.setFlagInternal(Flag.SEEN, true);
|
||||||
uidMap.putAll(appendMessages(new Message[] { placeHolder }));
|
appendMessages(new Message[] { placeHolder });
|
||||||
}
|
}
|
||||||
} catch (MessagingException e) {
|
} catch (MessagingException e) {
|
||||||
throw new WrappedException(e);
|
throw new WrappedException(e);
|
||||||
|
|
Loading…
Reference in a new issue