Fix contact name passing from compact to full editor on inserts

Bug 19624360

Change-Id: I50c415b59c4bad1d08f18f8c2bc7d57ddb73c418
diff --git a/src/com/android/contacts/editor/CompactRawContactsEditorView.java b/src/com/android/contacts/editor/CompactRawContactsEditorView.java
index 704fe9d..36502e2 100644
--- a/src/com/android/contacts/editor/CompactRawContactsEditorView.java
+++ b/src/com/android/contacts/editor/CompactRawContactsEditorView.java
@@ -246,6 +246,12 @@
                 ? null : (StructuredNameEditorView) mNames.getChildAt(0);
     }
 
+    public PhoneticNameEditorView getFirstPhoneticNameEditorView() {
+        // There should only ever be one phonetic name
+        return mPhoneticNames.getChildCount() == 0
+                ? null : (PhoneticNameEditorView) mPhoneticNames.getChildAt(0);
+    }
+
     public View getAggregationAnchorView() {
         // Since there is only one structured name we can just return it as the anchor for
         // the aggregation suggestions popup
@@ -274,6 +280,7 @@
                 /* valuesDelta =*/ null, ViewIdGenerator.NO_VIEW_INDEX));
         mMaterialPalette = materialPalette;
 
+        vlog("Setting compact editor state from " + rawContactDeltas);
         addPhotoView(rawContactDeltas, viewIdGenerator);
         addStructuredNameView(rawContactDeltas);
         addEditorViews(rawContactDeltas);
@@ -424,7 +431,7 @@
                     continue;
                 }
                 final String mimeType = dataKind.mimeType;
-                log(Log.VERBOSE, mimeType + " " + dataKind.fieldList.size() + " field(s)");
+                vlog(mimeType + " " + dataKind.fieldList.size() + " field(s)");
                 if (Photo.CONTENT_ITEM_TYPE.equals(mimeType)
                         || StructuredName.CONTENT_ITEM_TYPE.equals(mimeType)
                         || GroupMembership.CONTENT_ITEM_TYPE.equals(mimeType)) {
@@ -521,11 +528,11 @@
             String mimeType, DataKind dataKind) {
         final List<ValuesDelta> result = new ArrayList<>();
         if (rawContactDelta == null) {
-            log(Log.VERBOSE, "Null RawContactDelta");
+            vlog("Null RawContactDelta");
             return result;
         }
         if (!rawContactDelta.hasMimeEntries(mimeType)) {
-            log(Log.VERBOSE, "No ValueDeltas");
+            vlog("No ValueDeltas");
             return result;
         }
         for (ValuesDelta valuesDelta : rawContactDelta.getMimeEntries(mimeType)) {
@@ -538,14 +545,13 @@
 
     private static boolean hasNonEmptyValue(DataKind dataKind, ValuesDelta valuesDelta) {
         if (valuesDelta == null) {
-            log(Log.VERBOSE, "Null valuesDelta");
+            vlog("Null valuesDelta");
             return false;
         }
         for (EditField editField : dataKind.fieldList) {
             final String column = editField.column;
             final String value = valuesDelta == null ? null : valuesDelta.getAsString(column);
-            log(Log.VERBOSE, "Field " + column + " empty=" + TextUtils.isEmpty(value) +
-                    " value=" + value);
+            vlog("Field " + column + " empty=" + TextUtils.isEmpty(value) + " value=" + value);
             if (!TextUtils.isEmpty(value)) {
                 return true;
             }
@@ -598,32 +604,9 @@
         return result;
     }
 
-    private static void log(int level, String message) {
-        log(TAG, level, message);
-    }
-
-    private static void log(String tag, int level, String message) {
-        if (Log.isLoggable(tag, level)) {
-            switch (level) {
-                case Log.VERBOSE:
-                    Log.v(tag, message);
-                    break;
-                case Log.DEBUG:
-                    Log.d(tag, message);
-                    break;
-                case Log.INFO:
-                    Log.i(tag, message);
-                    break;
-                case Log.WARN:
-                    Log.w(tag, message);
-                    break;
-                case Log.ERROR:
-                    Log.e(tag, message);
-                    break;
-                default:
-                    Log.v(tag, message);
-                    break;
-            }
+    private static void vlog(String message) {
+        if (Log.isLoggable(TAG, Log.VERBOSE)) {
+            Log.v(TAG, message);
         }
     }
 }