Merge "Asset swap"
diff --git a/src/com/android/contacts/interactions/ImportExportDialogFragment.java b/src/com/android/contacts/interactions/ImportExportDialogFragment.java
index a6a37ef..078f63e 100644
--- a/src/com/android/contacts/interactions/ImportExportDialogFragment.java
+++ b/src/com/android/contacts/interactions/ImportExportDialogFragment.java
@@ -136,30 +136,32 @@
         // TODO move the query into a loader and do this in a background thread
         final Cursor cursor = getActivity().getContentResolver().query(Contacts.CONTENT_URI,
                 LOOKUP_PROJECTION, Contacts.IN_VISIBLE_GROUP + "!=0", null, null);
-        try {
-            if (!cursor.moveToFirst()) {
-                Toast.makeText(getActivity(), R.string.share_error, Toast.LENGTH_SHORT).show();
-                return;
-            }
+        if (cursor != null) {
+            try {
+                if (!cursor.moveToFirst()) {
+                    Toast.makeText(getActivity(), R.string.share_error, Toast.LENGTH_SHORT).show();
+                    return;
+                }
 
-            StringBuilder uriListBuilder = new StringBuilder();
-            int index = 0;
-            while (cursor.moveToNext()) {
-                if (index != 0)
-                    uriListBuilder.append(':');
-                uriListBuilder.append(cursor.getString(0));
-                index++;
-            }
-            Uri uri = Uri.withAppendedPath(
-                    Contacts.CONTENT_MULTI_VCARD_URI,
-                    Uri.encode(uriListBuilder.toString()));
+                StringBuilder uriListBuilder = new StringBuilder();
+                int index = 0;
+                do {
+                    if (index != 0)
+                        uriListBuilder.append(':');
+                    uriListBuilder.append(cursor.getString(0));
+                    index++;
+                } while (cursor.moveToNext());
+                Uri uri = Uri.withAppendedPath(
+                        Contacts.CONTENT_MULTI_VCARD_URI,
+                        Uri.encode(uriListBuilder.toString()));
 
-            final Intent intent = new Intent(Intent.ACTION_SEND);
-            intent.setType(Contacts.CONTENT_VCARD_TYPE);
-            intent.putExtra(Intent.EXTRA_STREAM, uri);
-            getActivity().startActivity(intent);
-        } finally {
-            cursor.close();
+                final Intent intent = new Intent(Intent.ACTION_SEND);
+                intent.setType(Contacts.CONTENT_VCARD_TYPE);
+                intent.putExtra(Intent.EXTRA_STREAM, uri);
+                getActivity().startActivity(intent);
+            } finally {
+                cursor.close();
+            }
         }
     }