Merge "Add features and data_usage columns to calls table."
diff --git a/src/com/android/providers/contacts/CallLogProvider.java b/src/com/android/providers/contacts/CallLogProvider.java
index a4e642c..886f484 100644
--- a/src/com/android/providers/contacts/CallLogProvider.java
+++ b/src/com/android/providers/contacts/CallLogProvider.java
@@ -74,7 +74,9 @@
sCallsProjectionMap.put(Calls.NUMBER_PRESENTATION, Calls.NUMBER_PRESENTATION);
sCallsProjectionMap.put(Calls.DATE, Calls.DATE);
sCallsProjectionMap.put(Calls.DURATION, Calls.DURATION);
+ sCallsProjectionMap.put(Calls.DATA_USAGE, Calls.DATA_USAGE);
sCallsProjectionMap.put(Calls.TYPE, Calls.TYPE);
+ sCallsProjectionMap.put(Calls.FEATURES, Calls.FEATURES);
sCallsProjectionMap.put(Calls.PHONE_ACCOUNT_COMPONENT_NAME, Calls.PHONE_ACCOUNT_COMPONENT_NAME);
sCallsProjectionMap.put(Calls.PHONE_ACCOUNT_ID, Calls.PHONE_ACCOUNT_ID);
sCallsProjectionMap.put(Calls.NEW, Calls.NEW);
diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
index b7f16bb..956513c 100644
--- a/src/com/android/providers/contacts/ContactsDatabaseHelper.java
+++ b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
@@ -114,7 +114,7 @@
* 900-999 L
* </pre>
*/
- static final int DATABASE_VERSION = 903;
+ static final int DATABASE_VERSION = 904;
public interface Tables {
public static final String CONTACTS = "contacts";
@@ -1465,7 +1465,9 @@
Calls.PRESENTATION_ALLOWED + "," +
Calls.DATE + " INTEGER," +
Calls.DURATION + " INTEGER," +
+ Calls.DATA_USAGE + " INTEGER," +
Calls.TYPE + " INTEGER," +
+ Calls.FEATURES + " INTEGER NOT NULL DEFAULT 0," +
Calls.PHONE_ACCOUNT_COMPONENT_NAME + " TEXT," +
Calls.PHONE_ACCOUNT_ID + " TEXT," +
Calls.NEW + " INTEGER," +
@@ -2752,6 +2754,11 @@
oldVersion = 903;
}
+ if (oldVersion < 904) {
+ upgradeToVersion904(db);
+ oldVersion = 904;
+ }
+
if (upgradeViewsAndTriggers) {
createContactsViews(db);
createGroupsView(db);
@@ -4057,8 +4064,8 @@
private void upgradeToVersion902(SQLiteDatabase db) {
// adding account identifier to call log table
- db.execSQL("ALTER TABLE calls ADD "+ Calls.PHONE_ACCOUNT_COMPONENT_NAME + " TEXT;");
- db.execSQL("ALTER TABLE calls ADD "+ Calls.PHONE_ACCOUNT_ID + " TEXT;");
+ db.execSQL("ALTER TABLE calls ADD subscription_component_name TEXT;");
+ db.execSQL("ALTER TABLE calls ADD subscription_id TEXT;");
}
/**
@@ -4114,6 +4121,15 @@
}
}
+ /**
+ * Updates the calls table in the database to include the call_duration and features columns.
+ * @param db The database to update.
+ */
+ private void upgradeToVersion904(SQLiteDatabase db) {
+ db.execSQL("ALTER TABLE calls ADD features INTEGER NOT NULL DEFAULT 0;");
+ db.execSQL("ALTER TABLE calls ADD data_usage INTEGER;");
+ }
+
public String extractHandleFromEmailAddress(String email) {
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(email);
if (tokens.length == 0) {
diff --git a/tests/src/com/android/providers/contacts/CallLogProviderTest.java b/tests/src/com/android/providers/contacts/CallLogProviderTest.java
index 6a9410f..f1787fa 100644
--- a/tests/src/com/android/providers/contacts/CallLogProviderTest.java
+++ b/tests/src/com/android/providers/contacts/CallLogProviderTest.java
@@ -180,10 +180,12 @@
sComponentName, "sub0", Uri.parse("tel:000-000-0000"), "", "", true, true);
Uri uri = Calls.addCall(ci, getMockContext(), "1-800-263-7643",
- PhoneConstants.PRESENTATION_ALLOWED, Calls.OUTGOING_TYPE, subscription, 2000, 40);
+ PhoneConstants.PRESENTATION_ALLOWED, Calls.OUTGOING_TYPE, Calls.FEATURES_NONE,
+ subscription, 2000, 40, null);
ContentValues values = new ContentValues();
values.put(Calls.TYPE, Calls.OUTGOING_TYPE);
+ values.put(Calls.FEATURES, Calls.FEATURES_NONE);
values.put(Calls.NUMBER, "1-800-263-7643");
values.put(Calls.NUMBER_PRESENTATION, Calls.PRESENTATION_ALLOWED);
values.put(Calls.DATE, 2000);
@@ -195,6 +197,9 @@
values.put(Calls.GEOCODED_LOCATION, "usa");
values.put(Calls.PHONE_ACCOUNT_COMPONENT_NAME, "com.android.telecomm/TelecommServiceImpl");
values.put(Calls.PHONE_ACCOUNT_ID, "sub0");
+ // Casting null to Long as there are many forms of "put" which have nullable second
+ // parameters and the compiler needs a hint as to which form is correct.
+ values.put(Calls.DATA_USAGE, (Long) null);
assertStoredValues(uri, values);
}