Expose _id in ExtendedProperties subValues

* ExtendedValues' "name" and "value" columns are exposed in Entry
  entity subvalues, but it is clumsy to change a value, as the _id
  of the ExtendedValues row isn't also exposed.  (We otherwise have to
  perform a potentially slow query)
* This CL adds the _id column to the columns exposed

Bug: 2638762
Change-Id: Iaffeffed620af78439f5f73aa5f3257b0f8a0fd0
diff --git a/core/java/android/provider/Calendar.java b/core/java/android/provider/Calendar.java
index ba63a66..9a09805 100644
--- a/core/java/android/provider/Calendar.java
+++ b/core/java/android/provider/Calendar.java
@@ -638,11 +638,13 @@
             private static final int COLUMN_ATTENDEE_TYPE = 3;
             private static final int COLUMN_ATTENDEE_STATUS = 4;
             private static final String[] EXTENDED_PROJECTION = new String[] {
+                    ExtendedProperties._ID,
                     ExtendedProperties.NAME,
-                    ExtendedProperties.VALUE,
+                    ExtendedProperties.VALUE
             };
-            private static final int COLUMN_NAME = 0;
-            private static final int COLUMN_VALUE = 1;
+            private static final int COLUMN_ID = 0;
+            private static final int COLUMN_NAME = 1;
+            private static final int COLUMN_VALUE = 2;
 
             private static final String WHERE_EVENT_ID = "event_id=?";
 
@@ -772,6 +774,8 @@
                 try {
                     while (subCursor.moveToNext()) {
                         ContentValues extendedValues = new ContentValues();
+                        extendedValues.put(ExtendedProperties._ID,
+                                subCursor.getString(COLUMN_ID));
                         extendedValues.put(ExtendedProperties.NAME,
                                 subCursor.getString(COLUMN_NAME));
                         extendedValues.put(ExtendedProperties.VALUE,