Fix NPE in shareSelectedContacts

Protect against null lookupUri's.

Bug:23306201
Change-Id: Iab1e6b08e0a596b999c6829b1afd8c5aa0dc81c7
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 97c6ea0..9103a53 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -1239,15 +1239,24 @@
      */
     private void shareSelectedContacts() {
         final StringBuilder uriListBuilder = new StringBuilder();
-        boolean firstIteration = true;
         for (Long contactId : mAllFragment.getSelectedContactIds()) {
-            if (!firstIteration)
-                uriListBuilder.append(':');
             final Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
             final Uri lookupUri = Contacts.getLookupUri(getContentResolver(), contactUri);
-            List<String> pathSegments = lookupUri.getPathSegments();
-            uriListBuilder.append(Uri.encode(pathSegments.get(pathSegments.size() - 2)));
-            firstIteration = false;
+            if (lookupUri == null) {
+                continue;
+            }
+            final List<String> pathSegments = lookupUri.getPathSegments();
+            if (pathSegments.size() < 2) {
+                continue;
+            }
+            final String lookupKey = pathSegments.get(pathSegments.size() - 2);
+            if (uriListBuilder.length() > 0) {
+                uriListBuilder.append(':');
+            }
+            uriListBuilder.append(Uri.encode(lookupKey));
+        }
+        if (uriListBuilder.length() == 0) {
+            return;
         }
         final Uri uri = Uri.withAppendedPath(
                 Contacts.CONTENT_MULTI_VCARD_URI,