Changing event and group membership from TextEdit to Button

Bug: 3362537
Change-Id: I262bb546f03a7ce40c681e0f0077f97508359a21
diff --git a/res/layout-xlarge/item_group_membership.xml b/res/layout-xlarge/item_group_membership.xml
index 1b47b9e..62d20b4 100644
--- a/res/layout-xlarge/item_group_membership.xml
+++ b/res/layout-xlarge/item_group_membership.xml
@@ -32,17 +32,19 @@
         android:textColor="@color/editor_label_text_color"
         android:ellipsize="marquee" />
 
-    <!-- TODO: Change to android.R.attr.spinnerTextStyle when available-->
-    <TextView
-        style="?android:attr/editTextStyle"
+    <!-- TODO: Change to android.R.attr.spinnerTextStyle when available
+            style="?android:attr/editTextStyle"
+    -->
+    <Button
         android:id="@+id/group_list"
         android:layout_width="0dip"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:textAppearance="?android:attr/textAppearanceMedium"
-        android:gravity="left"
+        android:gravity="left|center_vertical"
         android:ellipsize="end"
         android:focusable="true"
+        android:paddingLeft="18dip"
     />
     
     <!-- Plus/Minus button only for layout. This makes the editor lay out nicely with the other fields -->
diff --git a/src/com/android/contacts/editor/EventFieldEditorView.java b/src/com/android/contacts/editor/EventFieldEditorView.java
index eb75e5c..fb196fe 100644
--- a/src/com/android/contacts/editor/EventFieldEditorView.java
+++ b/src/com/android/contacts/editor/EventFieldEditorView.java
@@ -32,7 +32,9 @@
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.AttributeSet;
+import android.view.Gravity;
 import android.view.View;
+import android.widget.Button;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
@@ -49,7 +51,7 @@
      */
     private final int DEFAULT_HOUR = 8;
 
-    private TextView mDateView;
+    private Button mDateView;
 
     public EventFieldEditorView(Context context) {
         super(context);
@@ -125,8 +127,14 @@
         if (mDateView == null) {
 
             // TODO: Change to android.R.attr.spinnerTextStyle when available
-            mDateView = new TextView(getContext(), null, android.R.attr.editTextStyle);
-            mDateView.setFocusable(true);
+            // mDateView = new Button(getContext(), null, android.R.attr.editTextStyle);
+            mDateView = new Button(getContext());
+            // TODO: Remove hard-coded padding and gravity when android.R.attr.spinnerTextStyle
+            // becomes available
+            mDateView.setPadding(18, mDateView.getPaddingTop(),
+                    mDateView.getPaddingRight(), mDateView.getPaddingBottom());
+            mDateView.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL);
+
             mDateView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                     LayoutParams.WRAP_CONTENT));
             mDateView.setEnabled(isEnabled() && !readOnly);
@@ -145,7 +153,10 @@
     private void rebuildDateView() {
         final EditField editField = getKind().fieldList.get(0);
         final String column = editField.column;
-        final String data = DateUtils.formatDate(getContext(), getEntry().getAsString(column));
+        String data = DateUtils.formatDate(getContext(), getEntry().getAsString(column));
+        if (TextUtils.isEmpty(data)) {
+            data = " ";
+        }
         mDateView.setText(data);
     }
 
diff --git a/src/com/android/contacts/editor/GroupMembershipView.java b/src/com/android/contacts/editor/GroupMembershipView.java
index 77da0f0..ad246e5 100644
--- a/src/com/android/contacts/editor/GroupMembershipView.java
+++ b/src/com/android/contacts/editor/GroupMembershipView.java
@@ -181,7 +181,11 @@
         }
 
         mGroupList.setEnabled(isEnabled());
-        mGroupList.setText(sb);
+        if (sb.length() == 0) {
+            mGroupList.setText(" ");
+        } else {
+            mGroupList.setText(sb);
+        }
         setVisibility(VISIBLE);
 
         if (!mDefaultGroupVisibilityKnown) {