FP2-2061 : Other Messaging apps don't work on FP2
Added the sub_id column to the Sms database
JIRA-ID : FP2-2061
Change-Id: I938247fa895ecb741200f0da68c4f1cd43a342e6
diff --git a/src/com/android/providers/telephony/MmsSmsDatabaseHelper.java b/src/com/android/providers/telephony/MmsSmsDatabaseHelper.java
index 492f346..ba66d35 100644
--- a/src/com/android/providers/telephony/MmsSmsDatabaseHelper.java
+++ b/src/com/android/providers/telephony/MmsSmsDatabaseHelper.java
@@ -218,8 +218,9 @@
static final String DATABASE_NAME = "mmssms.db";
//static final int DATABASE_VERSION = 61;
- static final int DATABASE_VERSION = 62;
- private final Context mContext;
+ //static final int DATABASE_VERSION = 62;
+static final int DATABASE_VERSION = 63;
+private final Context mContext;
private LowStorageMonitor mLowStorageMonitor;
private static final String SUB_ID = "sub_id";
@@ -597,7 +598,8 @@
Mms.DELIVERY_TIME + " INTEGER," +
Mms.DELIVERY_REPORT + " INTEGER," +
Mms.LOCKED + " INTEGER DEFAULT 0," +
- Mms.PHONE_ID + " INTEGER DEFAULT -1, " +
+ Mms.SUBSCRIPTION_ID + " INTEGER DEFAULT -1, " +
+ Mms.PHONE_ID + " INTEGER DEFAULT -1, " +
Mms.SEEN + " INTEGER DEFAULT 0," +
Mms.CREATOR + " TEXT," +
Mms.TEXT_ONLY + " INTEGER DEFAULT 0" +
@@ -843,6 +845,7 @@
"body TEXT," +
"service_center TEXT," +
"locked INTEGER DEFAULT 0," +
+ "sub_id INTEGER DEFAULT -1, " +
"phone_id INTEGER DEFAULT -1, " +
"error_code INTEGER DEFAULT 0," +
"creator TEXT," +
@@ -862,6 +865,7 @@
"sequence INTEGER," + // the part number of this message
"destination_port INTEGER," +
"address TEXT," +
+ "sub_id INTEGER DEFAULT -1, " +
"phone_id INTEGER DEFAULT -1, " +
"pdu TEXT);"); // the raw PDU for this part
@@ -930,7 +934,8 @@
PendingMessages.ERROR_CODE + " INTEGER," +
PendingMessages.RETRY_INDEX + " INTEGER NOT NULL DEFAULT 0," +
PendingMessages.DUE_TIME + " INTEGER," +
- PendingMessages.PHONE_ID + " INTEGER DEFAULT 0, " +
+ PendingMessages.SUBSCRIPTION_ID + " INTEGER DEFAULT 0, " +
+ PendingMessages.PHONE_ID + " INTEGER DEFAULT 0, " +
PendingMessages.LAST_TRY + " INTEGER);");
}
@@ -1365,6 +1370,22 @@
} finally {
db.endTransaction();
}
+// fall through
+ case 62:
+ if (currentVersion <= 62) {
+ return;
+ }
+
+ db.beginTransaction();
+ try {
+ upgradeDatabaseToVersion63(db);
+ db.setTransactionSuccessful();
+ } catch (Throwable ex) {
+ Log.e(TAG, ex.getMessage(), ex);
+ break;
+ } finally {
+ db.endTransaction();
+ }
return;
}
@@ -1614,6 +1635,17 @@
db.execSQL("ALTER TABLE " + MmsProvider.TABLE_PDU + " ADD COLUMN " + FPExtTelephony.DELIVERY_R +" INTEGER DEFAULT 0");
}
+ private void upgradeDatabaseToVersion63(SQLiteDatabase db) {
+ db.execSQL("ALTER TABLE " + MmsProvider.TABLE_PDU +" ADD COLUMN "
+ + SUB_ID + " INTEGER DEFAULT -1");
+ db.execSQL("ALTER TABLE " + MmsSmsProvider.TABLE_PENDING_MSG +" ADD COLUMN "
+ + "pending_sub_id" + " INTEGER DEFAULT 0");
+ db.execSQL("ALTER TABLE " + SmsProvider.TABLE_SMS +" ADD COLUMN "
+ + SUB_ID + " INTEGER DEFAULT -1");
+ db.execSQL("ALTER TABLE " + SmsProvider.TABLE_RAW +" ADD COLUMN "
+ + SUB_ID + " INTEGER DEFAULT -1");
+ }
+
// Try to copy data from existing src column to new column which supposed
// to be added before calling this functin.
// If src or dest column not exsit, it will just bail out.
@@ -1919,6 +1951,7 @@
Mms.DELIVERY_TIME + " INTEGER," +
Mms.DELIVERY_REPORT + " INTEGER," +
Mms.LOCKED + " INTEGER DEFAULT 0," +
+ Mms.SUBSCRIPTION_ID + " INTEGER DEFAULT -1," +
Mms.PHONE_ID + " INTEGER DEFAULT -1," +
Mms.SEEN + " INTEGER DEFAULT 0," +
Mms.TEXT_ONLY + " INTEGER DEFAULT 0" +
diff --git a/src/com/android/providers/telephony/MmsSmsProvider.java b/src/com/android/providers/telephony/MmsSmsProvider.java
index 205cce1..d61cbfe 100644
--- a/src/com/android/providers/telephony/MmsSmsProvider.java
+++ b/src/com/android/providers/telephony/MmsSmsProvider.java
@@ -132,7 +132,7 @@
// These are the columns that appear in both the MMS ("pdu") and
// SMS ("sms") message tables.
private static final String[] MMS_SMS_COLUMNS =
- { BaseColumns._ID, Mms.DATE, Mms.DATE_SENT, Mms.READ, Mms.THREAD_ID, Mms.LOCKED,
+ { BaseColumns._ID, Mms.DATE, Mms.DATE_SENT, Mms.READ, Mms.THREAD_ID, Mms.LOCKED, Mms.SUBSCRIPTION_ID,
Mms.PHONE_ID };
// These are the columns that appear only in the MMS message