summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/telephony
diff options
context:
space:
mode:
authorAmit Mahajan <amitmahajan@google.com>2016-04-04 17:30:24 -0700
committerAmit Mahajan <amitmahajan@google.com>2016-04-04 17:30:24 -0700
commit5fc743c1b57541afad447dc3baa31ae6bed61471 (patch)
tree1a3d873e94bf994d79211e979186121d6b132d48 /src/com/android/providers/telephony
parent70ad7ad377ed671a98bebfd1a372480e34788b50 (diff)
downloadandroid_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.java22
-rw-r--r--src/com/android/providers/telephony/SmsProvider.java6
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);