From e31bbc395fc04e9c5f841e8e76475d98c8332271 Mon Sep 17 00:00:00 2001 From: Jay Shrauner Date: Mon, 10 Jun 2013 10:13:53 -0700 Subject: Add number presentation column to call log table Add number presentation column to call log table and convert older call logs to use the new column. Bug:6948882 Change-Id: I0e8f781d30600e3bfb08d8b89a1cade531e18c7f --- .../providers/contacts/CallLogProvider.java | 1 + .../providers/contacts/ContactsDatabaseHelper.java | 35 ++++++++++++++++------ 2 files changed, 27 insertions(+), 9 deletions(-) (limited to 'src/com') diff --git a/src/com/android/providers/contacts/CallLogProvider.java b/src/com/android/providers/contacts/CallLogProvider.java index 519ea24a..e2b9ccef 100644 --- a/src/com/android/providers/contacts/CallLogProvider.java +++ b/src/com/android/providers/contacts/CallLogProvider.java @@ -69,6 +69,7 @@ public class CallLogProvider extends ContentProvider { sCallsProjectionMap = new HashMap(); sCallsProjectionMap.put(Calls._ID, Calls._ID); sCallsProjectionMap.put(Calls.NUMBER, Calls.NUMBER); + sCallsProjectionMap.put(Calls.NUMBER_PRESENTATION, Calls.NUMBER_PRESENTATION); sCallsProjectionMap.put(Calls.DATE, Calls.DATE); sCallsProjectionMap.put(Calls.DURATION, Calls.DURATION); sCallsProjectionMap.put(Calls.TYPE, Calls.TYPE); diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java index 19798130..006b2043 100644 --- a/src/com/android/providers/contacts/ContactsDatabaseHelper.java +++ b/src/com/android/providers/contacts/ContactsDatabaseHelper.java @@ -111,9 +111,10 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { * 550-599 Honeycomb-MR2 * 600-699 Ice Cream Sandwich * 700-799 Jelly Bean + * 800-899 Key Lime Pie * */ - static final int DATABASE_VERSION = 710; + static final int DATABASE_VERSION = 800; private static final String DATABASE_NAME = "contacts2.db"; private static final String DATABASE_PRESENCE = "presence_db"; @@ -1254,6 +1255,8 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { db.execSQL("CREATE TABLE " + Tables.CALLS + " (" + Calls._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + Calls.NUMBER + " TEXT," + + Calls.NUMBER_PRESENTATION + " INTEGER NOT NULL DEFAULT " + + Calls.PRESENTATION_ALLOWED + "," + Calls.DATE + " INTEGER," + Calls.DURATION + " INTEGER," + Calls.TYPE + " INTEGER," + @@ -2481,6 +2484,11 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { oldVersion = 710; } + if (oldVersion < 800) { + upgradeToVersion800(db); + oldVersion = 800; + } + if (upgradeViewsAndTriggers) { createContactsViews(db); createGroupsView(db); @@ -3933,14 +3941,10 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { } private void upgradeToVersion707(SQLiteDatabase db) { - db.execSQL("ALTER TABLE " + Tables.RAW_CONTACTS - + " ADD " + RawContactsColumns.PHONEBOOK_LABEL_PRIMARY + " TEXT;"); - db.execSQL("ALTER TABLE " + Tables.RAW_CONTACTS - + " ADD " + RawContactsColumns.PHONEBOOK_BUCKET_PRIMARY + " INTEGER;"); - db.execSQL("ALTER TABLE " + Tables.RAW_CONTACTS - + " ADD " + RawContactsColumns.PHONEBOOK_LABEL_ALTERNATIVE + " TEXT;"); - db.execSQL("ALTER TABLE " + Tables.RAW_CONTACTS - + " ADD " + RawContactsColumns.PHONEBOOK_BUCKET_ALTERNATIVE + " INTEGER;"); + db.execSQL("ALTER TABLE raw_contacts phonebook_label TEXT;"); + db.execSQL("ALTER TABLE raw_contacts ADD phonebook_bucket INTEGER;"); + db.execSQL("ALTER TABLE raw_contacts ADD phonebook_label_alt TEXT;"); + db.execSQL("ALTER TABLE raw_contacts ADD phonebook_bucket_alt INTEGER;"); } private void upgradeToVersion710(SQLiteDatabase db) { @@ -3966,6 +3970,19 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { + "ON deleted_contacts(contact_deleted_timestamp)"); } + private void upgradeToVersion800(SQLiteDatabase db) { + // Default Calls.PRESENTATION_ALLOWED=1 + db.execSQL("ALTER TABLE calls ADD presentation INTEGER NOT NULL DEFAULT 1;"); + + // Re-map CallerInfo.{..}_NUMBER strings to Calls.PRESENTATION_{..} ints + // PRIVATE_NUMBER="-2" -> PRESENTATION_RESTRICTED=2 + // UNKNOWN_NUMBER="-1" -> PRESENTATION_UNKNOWN =3 + // PAYPHONE_NUMBER="-3" -> PRESENTATION_PAYPHONE =4 + db.execSQL("UPDATE calls SET presentation=2, number='' WHERE number='-2';"); + db.execSQL("UPDATE calls SET presentation=3, number='' WHERE number='-1';"); + db.execSQL("UPDATE calls SET presentation=4, number='' WHERE number='-3';"); + } + public String extractHandleFromEmailAddress(String email) { Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(email); if (tokens.length == 0) { -- cgit v1.2.3