Add cache support

Add hooks for contact cache.

Bug: 10609551
Change-Id: I9a202772313eeab9b18031e20f78aba1e7d18a24
diff --git a/src/com/android/contacts/common/list/PhoneNumberListAdapter.java b/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
index 93b60d7..889a091 100644
--- a/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
+++ b/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
@@ -189,7 +189,7 @@
         }
     }
 
-    private boolean isExtendedDirectory(long directoryId) {
+    protected boolean isExtendedDirectory(long directoryId) {
         return directoryId >= mFirstExtendedDirectoryId;
     }
 
diff --git a/src/com/android/contacts/common/list/PhoneNumberPickerFragment.java b/src/com/android/contacts/common/list/PhoneNumberPickerFragment.java
index e3d0d5d..d580653 100644
--- a/src/com/android/contacts/common/list/PhoneNumberPickerFragment.java
+++ b/src/com/android/contacts/common/list/PhoneNumberPickerFragment.java
@@ -186,6 +186,7 @@
         } else {
             final String number = getPhoneNumber(position);
             if (number != null) {
+                cacheContactInfo(position);
                 mListener.onCallNumberDirectly(number);
             } else {
                 Log.w(TAG, "Item at " + position + " was clicked before"
@@ -194,6 +195,10 @@
         }
     }
 
+    protected void cacheContactInfo(int position) {
+        // Not implemented. Hook for child classes
+    }
+
     protected String getPhoneNumber(int position) {
         final PhoneNumberListAdapter adapter = (PhoneNumberListAdapter) getAdapter();
         return adapter.getPhoneNumber(position);