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();
}
}