Fix NPEs when contact is null

Fix NPEs in createLauncherShortcutWithContact and deleteContact.

Bug:20757451
Change-Id: Ib55789f2a54d5cab9fe269aa4d4f8c6858ed8806
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 154968d..4e824ea 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -2317,7 +2317,8 @@
     }
 
     private boolean isShortcutCreatable() {
-        if (mContactData == null || mContactData.isUserProfile()) {
+        if (mContactData == null || mContactData.isUserProfile() ||
+                mContactData.isDirectoryEntry()) {
             return false;
         }
         final Intent createShortcutIntent = new Intent();
@@ -2440,7 +2441,9 @@
                 }
                 return true;
             case R.id.menu_delete:
-                deleteContact();
+                if (isContactEditable()) {
+                    deleteContact();
+                }
                 return true;
             case R.id.menu_share:
                 if (isContactShareable()) {
@@ -2448,7 +2451,9 @@
                 }
                 return true;
             case R.id.menu_create_contact_shortcut:
-                createLauncherShortcutWithContact();
+                if (isShortcutCreatable()) {
+                    createLauncherShortcutWithContact();
+                }
                 return true;
             case R.id.menu_help:
                 HelpUtils.launchHelpAndFeedbackForContactScreen(this);