summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Attwell <brianattwell@google.com>2014-11-05 19:47:10 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-11-05 19:47:11 +0000
commitb7e654fae3cf0bd05605b0f5dd28d82f99e6d8fe (patch)
tree41f47d53f322761f7b23a3c5116c4349123f4e24
parent3b101dcc817ad052592fc6a8254351f8b712e1ce (diff)
parent2ebade8924bb6d2734b603938f418959cc79e2ad (diff)
downloadpackages_apps_Contacts-b7e654fae3cf0bd05605b0f5dd28d82f99e6d8fe.tar.gz
packages_apps_Contacts-b7e654fae3cf0bd05605b0f5dd28d82f99e6d8fe.tar.bz2
packages_apps_Contacts-b7e654fae3cf0bd05605b0f5dd28d82f99e6d8fe.zip
Merge "Editor name fields" into lmp-mr1-dev
-rw-r--r--res/layout/edit_field_list.xml3
-rw-r--r--res/layout/phonetic_name_editor_view.xml36
-rw-r--r--res/layout/raw_contact_editor_view.xml4
-rw-r--r--res/layout/structured_name_editor_view.xml2
-rw-r--r--res/values/dimens.xml3
-rw-r--r--src/com/android/contacts/editor/PhoneticNameEditorView.java8
-rw-r--r--src/com/android/contacts/editor/RawContactEditorView.java11
-rw-r--r--src/com/android/contacts/editor/StructuredNameEditorView.java8
8 files changed, 52 insertions, 23 deletions
diff --git a/res/layout/edit_field_list.xml b/res/layout/edit_field_list.xml
index 0073112d3..066810a3c 100644
--- a/res/layout/edit_field_list.xml
+++ b/res/layout/edit_field_list.xml
@@ -20,6 +20,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/editors"
- android:layout_width="match_parent"
+ android:layout_width="0dip"
android:layout_height="wrap_content"
+ android:layout_weight="1"
android:orientation="vertical" />
diff --git a/res/layout/phonetic_name_editor_view.xml b/res/layout/phonetic_name_editor_view.xml
index d67dcf560..efaf64458 100644
--- a/res/layout/phonetic_name_editor_view.xml
+++ b/res/layout/phonetic_name_editor_view.xml
@@ -20,33 +20,29 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/editor_min_line_item_height"
- android:orientation="vertical">
+ android:layout_marginStart="@dimen/editor_kind_icon_total_width">
+ <!-- This isn't used in PhoneticNameEditorView. It is only included so that
+ StructuredNameEditorView's base classes don't need extra null checks. -->
<include
android:id="@+id/spinner"
layout="@layout/edit_spinner"
android:visibility="gone" />
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:gravity="center_vertical">
-
- <include
- android:id="@+id/editors"
- layout="@layout/edit_field_list" />
-
- <include
- android:id="@+id/expansion_view_container"
- layout="@layout/name_edit_expansion_view"
- android:visibility="gone" />
+ <include
+ android:id="@+id/editors"
+ layout="@layout/edit_field_list" />
- <include
- android:id="@+id/delete_button_container"
- layout="@layout/edit_delete_button"
- android:visibility="gone" />
+ <include
+ android:id="@+id/expansion_view_container"
+ layout="@layout/name_edit_expansion_view"
+ android:visibility="visible" />
- </LinearLayout>
+ <!-- This isn't used in PhoneticNameEditorView. It is only included so that
+ StructuredNameEditorView's base classes don't need extra null checks. -->
+ <include
+ android:id="@+id/delete_button_container"
+ layout="@layout/edit_delete_button"
+ android:visibility="gone" />
</com.android.contacts.editor.PhoneticNameEditorView>
diff --git a/res/layout/raw_contact_editor_view.xml b/res/layout/raw_contact_editor_view.xml
index 03996b515..ace6c8f0d 100644
--- a/res/layout/raw_contact_editor_view.xml
+++ b/res/layout/raw_contact_editor_view.xml
@@ -38,6 +38,10 @@
layout="@layout/phonetic_name_editor_view" />
<include
+ android:id="@+id/edit_nick_name"
+ layout="@layout/item_kind_section" />
+
+ <include
android:id="@+id/edit_photo"
android:layout_marginRight="8dip"
android:layout_marginEnd="8dip"
diff --git a/res/layout/structured_name_editor_view.xml b/res/layout/structured_name_editor_view.xml
index fc57159e1..b6d6ecaa7 100644
--- a/res/layout/structured_name_editor_view.xml
+++ b/res/layout/structured_name_editor_view.xml
@@ -42,6 +42,8 @@
layout="@layout/name_edit_expansion_view"
android:visibility="gone" />
+ <!-- This isn't used in StructuredNameEditorView. It is only included so that
+ StructuredNameEditorView's base classes don't need extra null checks. -->
<include
android:id="@+id/delete_button_container"
layout="@layout/edit_delete_button"
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 69b56dcf4..53855ba05 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -57,6 +57,9 @@
<!-- Width and height of the mime-type icons inside the editor -->
<dimen name="editor_kind_icon_size">24dp</dimen>
+ <!-- Total width of data-kind icon, including its start and end padding -->
+ <dimen name="editor_kind_icon_total_width">72dp</dimen>
+
<!-- Padding below every editor view, such as LabeledEditorView -->
<dimen name="editor_padding_between_editor_views">24dp</dimen>
diff --git a/src/com/android/contacts/editor/PhoneticNameEditorView.java b/src/com/android/contacts/editor/PhoneticNameEditorView.java
index 420575cbd..e64568721 100644
--- a/src/com/android/contacts/editor/PhoneticNameEditorView.java
+++ b/src/com/android/contacts/editor/PhoneticNameEditorView.java
@@ -151,4 +151,12 @@ public class PhoneticNameEditorView extends TextFieldsEditorView {
return !TextUtils.isEmpty(family) || !TextUtils.isEmpty(middle)
|| !TextUtils.isEmpty(given);
}
+
+ /** {@inheritDoc} */
+ @Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ // Remove padding below this view.
+ setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), 0);
+ }
}
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index f0fbc4abe..4a05d7abb 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -64,6 +64,7 @@ public class RawContactEditorView extends BaseRawContactEditorView {
private StructuredNameEditorView mName;
private PhoneticNameEditorView mPhoneticName;
+ private KindSectionView mNickNameSectionView;
private GroupMembershipView mGroupMembershipView;
private ViewGroup mFields;
@@ -127,6 +128,8 @@ public class RawContactEditorView extends BaseRawContactEditorView {
mPhoneticName = (PhoneticNameEditorView)findViewById(R.id.edit_phonetic_name);
mPhoneticName.setDeletable(false);
+ mNickNameSectionView = (KindSectionView)findViewById(R.id.edit_nick_name);
+
mFields = (ViewGroup)findViewById(R.id.sect_fields);
mAccountIcon = (ImageView) findViewById(R.id.account_icon);
@@ -243,6 +246,11 @@ public class RawContactEditorView extends BaseRawContactEditorView {
mPhoneticName.setValues(
type.getKindForMimetype(DataKind.PSEUDO_MIME_TYPE_PHONETIC_NAME),
primary, state, false, vig);
+ // Special case for nick name, so it gets inserted in the header section. It
+ // should look like it belongs to the same KindSectionView as the other name fields.
+ mNickNameSectionView.setEnabled(isEnabled());
+ mNickNameSectionView.setState(type.getKindForMimetype(Nickname.CONTENT_ITEM_TYPE),
+ state, false, vig);
} else if (Photo.CONTENT_ITEM_TYPE.equals(mimeType)) {
// Handle special case editor for photos
final ValuesDelta primary = state.getPrimaryEntry(mimeType);
@@ -255,8 +263,7 @@ public class RawContactEditorView extends BaseRawContactEditorView {
} else if (DataKind.PSEUDO_MIME_TYPE_DISPLAY_NAME.equals(mimeType)
|| DataKind.PSEUDO_MIME_TYPE_PHONETIC_NAME.equals(mimeType)
|| Nickname.CONTENT_ITEM_TYPE.equals(mimeType)) {
- // Don't create fields for each of these mime-types. Instead, a single merged
- // field is created for these mime-types.
+ // Don't create fields for each of these mime-types. They are handled specially.
continue;
} else {
// Otherwise use generic section-based editors
diff --git a/src/com/android/contacts/editor/StructuredNameEditorView.java b/src/com/android/contacts/editor/StructuredNameEditorView.java
index a607ccaaf..b24f7f149 100644
--- a/src/com/android/contacts/editor/StructuredNameEditorView.java
+++ b/src/com/android/contacts/editor/StructuredNameEditorView.java
@@ -275,4 +275,12 @@ public class StructuredNameEditorView extends TextFieldsEditorView {
return 0;
}
}
+
+ /** {@inheritDoc} */
+ @Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ // Remove padding below this view.
+ setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), 0);
+ }
}