summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorNancy Chen <nancychen@google.com>2014-08-27 15:30:10 -0700
committerNancy Chen <nancychen@google.com>2014-08-27 18:08:55 -0700
commitdcf33302ccef41224e40623d72943a295f211b02 (patch)
tree3e300bcf5c5f857e0c2b20f4ffd4d05945e996fc /src/com
parent89c3c5706ca0b4b061b3f3a1a7ee27d9c0e43d60 (diff)
downloadpackages_providers_ContactsProvider-dcf33302ccef41224e40623d72943a295f211b02.zip
packages_providers_ContactsProvider-dcf33302ccef41224e40623d72943a295f211b02.tar.gz
packages_providers_ContactsProvider-dcf33302ccef41224e40623d72943a295f211b02.tar.bz2
Handle db upgrade for non-Sprout devices to match Sprout devices.
Sprout devices will have an extra sub_id column in the calls table, add this column to non-Sprout devices, and copy data from sub_id column to subscription_id column for sprout devices in calls table. Bug: 14990572 Change-Id: Id334011c34833e44954d793947b65222183a0b09
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/providers/contacts/ContactsDatabaseHelper.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
index c8990ea..6a09010 100644
--- a/src/com/android/providers/contacts/ContactsDatabaseHelper.java
+++ b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
@@ -117,7 +117,7 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper {
* 900-999 L
* </pre>
*/
- static final int DATABASE_VERSION = 908;
+ static final int DATABASE_VERSION = 909;
public interface Tables {
public static final String CONTACTS = "contacts";
@@ -1479,6 +1479,7 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper {
Calls.FEATURES + " INTEGER NOT NULL DEFAULT 0," +
Calls.PHONE_ACCOUNT_COMPONENT_NAME + " TEXT," +
Calls.PHONE_ACCOUNT_ID + " TEXT," +
+ Calls.SUB_ID + " INTEGER DEFAULT -1," +
Calls.NEW + " INTEGER," +
Calls.CACHED_NAME + " TEXT," +
Calls.CACHED_NUMBER_TYPE + " INTEGER," +
@@ -2790,6 +2791,11 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper {
oldVersion = 908;
}
+ if (oldVersion < 909) {
+ upgradeToVersion909(db);
+ oldVersion = 909;
+ }
+
if (upgradeViewsAndTriggers) {
createContactsViews(db);
createGroupsView(db);
@@ -4192,6 +4198,17 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper {
db.execSQL("UPDATE raw_contacts SET pinned = 0 WHERE pinned = 2147483647;");
}
+ private void upgradeToVersion909(SQLiteDatabase db) {
+ try {
+ db.execSQL("ALTER TABLE calls ADD sub_id INTEGER DEFAULT -1;");
+ } catch (SQLiteException e) {
+ // The column already exists--copy over data
+ db.execSQL("UPDATE calls SET subscription_component_name='com.android.phone/"
+ + "com.android.services.telephony.TelephonyConnectionService';");
+ db.execSQL("UPDATE calls SET subscription_id=sub_id;");
+ }
+ }
+
public String extractHandleFromEmailAddress(String email) {
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(email);
if (tokens.length == 0) {