diff options
author | Amit Mahajan <amitmahajan@google.com> | 2016-04-04 17:30:24 -0700 |
---|---|---|
committer | Amit Mahajan <amitmahajan@google.com> | 2016-04-04 17:30:24 -0700 |
commit | 5fc743c1b57541afad447dc3baa31ae6bed61471 (patch) | |
tree | 1a3d873e94bf994d79211e979186121d6b132d48 /src/com/android/providers/telephony | |
parent | 70ad7ad377ed671a98bebfd1a372480e34788b50 (diff) | |
download | android_packages_providers_TelephonyProvider-5fc743c1b57541afad447dc3baa31ae6bed61471.tar.gz android_packages_providers_TelephonyProvider-5fc743c1b57541afad447dc3baa31ae6bed61471.tar.bz2 android_packages_providers_TelephonyProvider-5fc743c1b57541afad447dc3baa31ae6bed61471.zip |
Add message_body column to raw table.
Use this column in addition to other fields to compare if messages
are the same.
Bug: 27974596
Change-Id: Ibe3b556aaf8e7918acec493e9dac36fdf86a9728
Diffstat (limited to 'src/com/android/providers/telephony')
-rw-r--r-- | src/com/android/providers/telephony/MmsSmsDatabaseHelper.java | 22 | ||||
-rw-r--r-- | src/com/android/providers/telephony/SmsProvider.java | 6 |
2 files changed, 24 insertions, 4 deletions
diff --git a/src/com/android/providers/telephony/MmsSmsDatabaseHelper.java b/src/com/android/providers/telephony/MmsSmsDatabaseHelper.java index 6ff0bff..5c9c426 100644 --- a/src/com/android/providers/telephony/MmsSmsDatabaseHelper.java +++ b/src/com/android/providers/telephony/MmsSmsDatabaseHelper.java @@ -235,7 +235,7 @@ public class MmsSmsDatabaseHelper extends SQLiteOpenHelper { private static boolean sFakeLowStorageTest = false; // for testing only static final String DATABASE_NAME = "mmssms.db"; - static final int DATABASE_VERSION = 63; + static final int DATABASE_VERSION = 64; private final Context mContext; private LowStorageMonitor mLowStorageMonitor; @@ -1430,6 +1430,22 @@ public class MmsSmsDatabaseHelper extends SQLiteOpenHelper { } finally { db.endTransaction(); } + // fall through + case 63: + if (currentVersion <= 63) { + return; + } + + db.beginTransaction(); + try { + upgradeDatabaseToVersion64(db); + db.setTransactionSuccessful(); + } catch (Throwable ex) { + Log.e(TAG, ex.getMessage(), ex); + break; + } finally { + db.endTransaction(); + } return; } @@ -1709,6 +1725,10 @@ public class MmsSmsDatabaseHelper extends SQLiteOpenHelper { db.execSQL("ALTER TABLE " + SmsProvider.TABLE_RAW +" ADD COLUMN deleted INTEGER DEFAULT 0"); } + private void upgradeDatabaseToVersion64(SQLiteDatabase db) { + db.execSQL("ALTER TABLE " + SmsProvider.TABLE_RAW +" ADD COLUMN message_body TEXT"); + } + @Override public synchronized SQLiteDatabase getWritableDatabase() { SQLiteDatabase db = super.getWritableDatabase(); diff --git a/src/com/android/providers/telephony/SmsProvider.java b/src/com/android/providers/telephony/SmsProvider.java index 61d0be9..d8b97c5 100644 --- a/src/com/android/providers/telephony/SmsProvider.java +++ b/src/com/android/providers/telephony/SmsProvider.java @@ -209,7 +209,7 @@ public class SmsProvider extends ContentProvider { case SMS_RAW_MESSAGE: // before querying purge old entries with deleted = 1 - // purgeDeletedMessagesInRawTable(db); + purgeDeletedMessagesInRawTable(db); qb.setTables("raw"); break; @@ -687,14 +687,14 @@ public class SmsProvider extends ContentProvider { break; case SMS_RAW_MESSAGE: - /* ContentValues cv = new ContentValues(); + ContentValues cv = new ContentValues(); cv.put("deleted", 1); count = db.update(TABLE_RAW, cv, where, whereArgs); if (Log.isLoggable(TAG, Log.VERBOSE)) { Log.d(TAG, "delete: num rows marked deleted in raw table: " + count); } notifyIfNotDefault = false; - break;*/ + break; case SMS_RAW_MESSAGE_PERMANENT_DELETE: count = db.delete(TABLE_RAW, where, whereArgs); |