make part and mms insertion a single transaction

fixes #3051
closes #3059
// FREEBIE
fork-5.53.8
Jake McGinty 2015-04-28 00:16:37 -05:00
rodzic d0008b57b5
commit 26c4d746d2
1 zmienionych plików z 12 dodań i 6 usunięć

Wyświetl plik

@ -749,6 +749,8 @@ public class MmsDatabase extends MessagingDatabase {
contentValues.put(PART_COUNT, PartParser.getSupportedMediaPartCount(body));
db.beginTransaction();
try {
long messageId = db.insert(TABLE_NAME, null, contentValues);
addressDatabase.insertAddressesForId(messageId, headers);
@ -756,8 +758,12 @@ public class MmsDatabase extends MessagingDatabase {
notifyConversationListeners(contentValues.getAsLong(THREAD_ID));
DatabaseFactory.getThreadDatabase(context).update(contentValues.getAsLong(THREAD_ID));
db.setTransactionSuccessful();
return messageId;
} finally {
db.endTransaction();
}
}
public boolean delete(long messageId) {