Adding a "Photo" directory under Contacts.
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index 5600916..951764b 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -124,6 +124,8 @@
     private static final int CONTACTS_SUMMARY_STREQUENT = 1007;
     private static final int CONTACTS_SUMMARY_STREQUENT_FILTER = 1008;
     private static final int CONTACTS_SUMMARY_GROUP = 1009;
+    private static final int CONTACTS_PHOTO = 1010;
+    private static final int CONTACTS_SUMMARY_PHOTO = 1011;
 
     private static final int RAW_CONTACTS = 2002;
     private static final int RAW_CONTACTS_ID = 2003;
@@ -343,6 +345,10 @@
         matcher.addURI(ContactsContract.AUTHORITY, "contacts", CONTACTS);
         matcher.addURI(ContactsContract.AUTHORITY, "contacts/#", CONTACTS_ID);
         matcher.addURI(ContactsContract.AUTHORITY, "contacts/#/data", CONTACTS_DATA);
+        matcher.addURI(ContactsContract.AUTHORITY, "contacts/#/suggestions",
+                AGGREGATION_SUGGESTIONS);
+        matcher.addURI(ContactsContract.AUTHORITY, "contacts/#/photo", CONTACTS_PHOTO);
+
         matcher.addURI(ContactsContract.AUTHORITY, "contacts_summary", CONTACTS_SUMMARY);
         matcher.addURI(ContactsContract.AUTHORITY, "contacts_summary/#", CONTACTS_SUMMARY_ID);
         matcher.addURI(ContactsContract.AUTHORITY, "contacts_summary/filter/*",
@@ -353,8 +359,9 @@
                 CONTACTS_SUMMARY_STREQUENT_FILTER);
         matcher.addURI(ContactsContract.AUTHORITY, "contacts_summary/group/*",
                 CONTACTS_SUMMARY_GROUP);
-        matcher.addURI(ContactsContract.AUTHORITY, "contacts/#/suggestions",
-                AGGREGATION_SUGGESTIONS);
+        matcher.addURI(ContactsContract.AUTHORITY, "contacts_summary/#/photo",
+                CONTACTS_SUMMARY_PHOTO);
+
         matcher.addURI(ContactsContract.AUTHORITY, "raw_contacts", RAW_CONTACTS);
         matcher.addURI(ContactsContract.AUTHORITY, "raw_contacts/#", RAW_CONTACTS_ID);
         matcher.addURI(ContactsContract.AUTHORITY, "raw_contacts/#/data", RAW_CONTACTS_DATA);
@@ -2231,6 +2238,18 @@
                 break;
             }
 
+            case CONTACTS_PHOTO:
+            case CONTACTS_SUMMARY_PHOTO: {
+                long contactId = Long.parseLong(uri.getPathSegments().get(1));
+
+                qb.setTables(mOpenHelper.getDataView());
+                qb.setProjectionMap(sDataProjectionMap);
+                appendAccountFromParameter(qb, uri);
+                qb.appendWhere(" AND " + RawContacts.CONTACT_ID + "=" + contactId);
+                qb.appendWhere(" AND " + Data._ID + "=" + Contacts.PHOTO_ID);
+                break;
+            }
+
             case PHONES: {
                 qb.setTables(mOpenHelper.getDataView());
                 qb.setProjectionMap(sDataProjectionMap);
diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
index f882339..a55b182 100644
--- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
+++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
@@ -39,6 +39,7 @@
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.CommonDataKinds.StructuredName;
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
+import android.provider.ContactsContract.Contacts.Photo;
 import android.test.suitebuilder.annotation.LargeTest;
 
 /**
@@ -856,10 +857,11 @@
         insertStructuredName(rawContactId, "John", "Doe");
         Uri photoUri = insertPhoto(rawContactId);
 
-        Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI,
-                queryContactId(rawContactId));
+        Uri twigUri = Uri.withAppendedPath(ContentUris.withAppendedId(Contacts.CONTENT_URI,
+                queryContactId(rawContactId)), Photo.CONTENT_DIRECTORY);
 
-        assertEquals(photoUri, Contacts.getPhotoUri(mResolver, contactUri));
+        long twigId = Long.parseLong(getStoredValue(twigUri, Data._ID));
+        assertEquals(ContentUris.parseId(photoUri), twigId);
     }
 
     private long createContact(ContentValues values, String firstName, String givenName,