Correctly check for empty state when leaving editor early.

Fixes http://b/2112520 and http://b/2114480
diff --git a/src/com/android/contacts/ui/EditContactActivity.java b/src/com/android/contacts/ui/EditContactActivity.java
index eda1729..baf3fb0 100644
--- a/src/com/android/contacts/ui/EditContactActivity.java
+++ b/src/com/android/contacts/ui/EditContactActivity.java
@@ -515,6 +515,9 @@
      * finishes the activity.
      */
     private boolean doSaveAction() {
+        // Bail early if nothing to save
+        if (mState == null || mState.size() == 0) return true;
+
         // Pass back last-selected contact
         final int selectedTab = mTabWidget.getCurrentTab();
         final long rawContactId = mState.getRawContactId(selectedTab);
@@ -701,7 +704,7 @@
             final DialogInterface.OnCancelListener cancelListener = new DialogInterface.OnCancelListener() {
                 public void onCancel(DialogInterface dialog) {
                     // If nothing remains, close activity
-                    if (target.mState.size() == 0) {
+                    if (target.mState == null || target.mState.size() == 0) {
                         target.finish();
                     }
                 }