Treat updates into non-existent body rows as inserts.
Bug: 11245727 Change-Id: I648b0267e9149f3f431ce01be9789087f73edab1
This commit is contained in:
parent
7b28bb95a3
commit
d0b81a0d06
@ -314,6 +314,8 @@ public abstract class EmailContent {
|
||||
public static final class Body extends EmailContent implements BodyColumns {
|
||||
public static final String TABLE_NAME = "Body";
|
||||
|
||||
public static final String SELECTION_BY_MESSAGE_KEY = MESSAGE_KEY + "=?";
|
||||
|
||||
public static Uri CONTENT_URI;
|
||||
|
||||
public static void initBody() {
|
||||
|
@ -1857,6 +1857,16 @@ public class EmailProvider extends ContentProvider {
|
||||
}
|
||||
break;
|
||||
case BODY:
|
||||
result = db.update(tableName, values, selection, selectionArgs);
|
||||
if (result == 0 && selection.equals(Body.SELECTION_BY_MESSAGE_KEY)) {
|
||||
// TODO: This is a hack. Notably, the selection equality test above
|
||||
// is hokey at best.
|
||||
LogUtils.i(TAG, "Body Update to non-existent row, morphing to insert");
|
||||
final ContentValues insertValues = new ContentValues(values);
|
||||
insertValues.put(EmailContent.Body.MESSAGE_KEY, selectionArgs[0]);
|
||||
insert(EmailContent.Body.CONTENT_URI, insertValues);
|
||||
}
|
||||
break;
|
||||
case MESSAGE:
|
||||
case UPDATED_MESSAGE:
|
||||
case ATTACHMENT:
|
||||
|
Loading…
Reference in New Issue
Block a user