Eliminate ghost thread when all messages deleted in a thread.

Fixes #2262
Closes #2842

// FREEBIE
This commit is contained in:
Rhodey Orbits
2015-03-31 13:36:04 -07:00
committed by Moxie Marlinspike
parent dbc28746c0
commit 9ba19df2af
5 changed files with 28 additions and 10 deletions

View File

@@ -760,7 +760,7 @@ public class MmsDatabase extends MessagingDatabase {
return messageId;
}
public void delete(long messageId) {
public boolean delete(long messageId) {
long threadId = getThreadIdForMessage(messageId);
MmsAddressDatabase addrDatabase = DatabaseFactory.getMmsAddressDatabase(context);
PartDatabase partDatabase = DatabaseFactory.getPartDatabase(context);
@@ -769,8 +769,9 @@ public class MmsDatabase extends MessagingDatabase {
SQLiteDatabase database = databaseHelper.getWritableDatabase();
database.delete(TABLE_NAME, ID_WHERE, new String[] {messageId+""});
DatabaseFactory.getThreadDatabase(context).update(threadId);
boolean threadDeleted = DatabaseFactory.getThreadDatabase(context).update(threadId);
notifyConversationListeners(threadId);
return threadDeleted;
}
public void deleteThread(long threadId) {