diff options
author | Brian Attwell <brianattwell@google.com> | 2014-11-11 18:30:05 -0800 |
---|---|---|
committer | Brian Attwell <brianattwell@google.com> | 2014-11-12 03:30:18 +0000 |
commit | da71919dcd16754cb378fc664967f4b278431c70 (patch) | |
tree | 1b5a6a7b8c40c446c5418000f72dd3a62afd3178 /src/com/android | |
parent | 5daa38f7d4d6ec2f548be0dc45b47a080f5dadd4 (diff) | |
download | android_packages_apps_Contacts-da71919dcd16754cb378fc664967f4b278431c70.tar.gz android_packages_apps_Contacts-da71919dcd16754cb378fc664967f4b278431c70.tar.bz2 android_packages_apps_Contacts-da71919dcd16754cb378fc664967f4b278431c70.zip |
Material design readonly editor
The readonly edit screen is a strange beast. At most, it
only shows fields for phones, emails, photos and
names even if more data is available. This CL updates
the appearance of these fields.
Bug: 18004959
Change-Id: I25847483cef36bb4c98f4b169970344b90e63add
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/contacts/editor/PhotoEditorView.java | 17 | ||||
-rw-r--r-- | src/com/android/contacts/editor/RawContactReadOnlyEditorView.java | 39 |
2 files changed, 31 insertions, 25 deletions
diff --git a/src/com/android/contacts/editor/PhotoEditorView.java b/src/com/android/contacts/editor/PhotoEditorView.java index b967b26c1..7c7cf662c 100644 --- a/src/com/android/contacts/editor/PhotoEditorView.java +++ b/src/com/android/contacts/editor/PhotoEditorView.java @@ -82,14 +82,17 @@ public class PhotoEditorView extends LinearLayout implements Editor { mPhotoImageView = (ImageView) findViewById(R.id.photo); mPrimaryCheckBox = (RadioButton) findViewById(R.id.primary_checkbox); mChangeButton = (Button) findViewById(R.id.change_button); - mChangeButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if (mListener != null) { - mListener.onRequest(EditorListener.REQUEST_PICK_PHOTO); + mPrimaryCheckBox = (RadioButton) findViewById(R.id.primary_checkbox); + if (mChangeButton != null) { + mChangeButton.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + if (mListener != null) { + mListener.onRequest(EditorListener.REQUEST_PICK_PHOTO); + } } - } - }); + }); + } // Turn off own state management. We do this ourselves on rotation. mPrimaryCheckBox.setSaveEnabled(false); mPrimaryCheckBox.setOnClickListener(new OnClickListener() { diff --git a/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java b/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java index 36e96a2ff..790109399 100644 --- a/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java +++ b/src/com/android/contacts/editor/RawContactReadOnlyEditorView.java @@ -19,6 +19,7 @@ package com.android.contacts.editor; import android.content.ContentUris; import android.content.Context; import android.content.res.Resources; +import android.graphics.drawable.Drawable; import android.net.Uri; import android.provider.ContactsContract.CommonDataKinds.Email; import android.provider.ContactsContract.CommonDataKinds.Phone; @@ -181,7 +182,6 @@ public class RawContactReadOnlyEditorView extends BaseRawContactEditorView mContext.getString(R.string.missing_name)); if (type.getEditContactActivityClassName() != null) { - mAccountContainer.setBackgroundDrawable(null); mAccountContainer.setEnabled(false); mEditExternallyButton.setVisibility(View.VISIBLE); } else { @@ -197,7 +197,9 @@ public class RawContactReadOnlyEditorView extends BaseRawContactEditorView final Resources res = mContext.getResources(); // Phones - ArrayList<ValuesDelta> phones = state.getMimeEntries(Phone.CONTENT_ITEM_TYPE); + final ArrayList<ValuesDelta> phones = state.getMimeEntries(Phone.CONTENT_ITEM_TYPE); + final Drawable phoneDrawable = getResources().getDrawable(R.drawable.ic_phone_24dp); + final String phoneContentDescription = res.getString(R.string.header_phone_entry); if (phones != null) { boolean isFirstPhoneBound = true; for (ValuesDelta phone : phones) { @@ -213,14 +215,16 @@ public class RawContactReadOnlyEditorView extends BaseRawContactEditorView phoneType = Phone.getTypeLabel( res, phone.getPhoneType(), phone.getPhoneLabel()); } - bindData(mContext.getText(R.string.phoneLabelsGroup), formattedNumber, - phoneType, isFirstPhoneBound, true); + bindData(phoneDrawable, phoneContentDescription, formattedNumber, phoneType, + isFirstPhoneBound, true); isFirstPhoneBound = false; } } // Emails - ArrayList<ValuesDelta> emails = state.getMimeEntries(Email.CONTENT_ITEM_TYPE); + final ArrayList<ValuesDelta> emails = state.getMimeEntries(Email.CONTENT_ITEM_TYPE); + final Drawable emailDrawable = getResources().getDrawable(R.drawable.ic_email_24dp); + final String emailContentDescription = res.getString(R.string.header_email_entry); if (emails != null) { boolean isFirstEmailBound = true; for (ValuesDelta email : emails) { @@ -233,7 +237,7 @@ public class RawContactReadOnlyEditorView extends BaseRawContactEditorView emailType = Email.getTypeLabel( res, email.getEmailType(), email.getEmailLabel()); } - bindData(mContext.getText(R.string.emailLabelsGroup), emailAddress, emailType, + bindData(emailDrawable, emailContentDescription, emailAddress, emailType, isFirstEmailBound); isFirstEmailBound = false; } @@ -247,23 +251,22 @@ public class RawContactReadOnlyEditorView extends BaseRawContactEditorView } } - private void bindData(CharSequence titleText, CharSequence data, CharSequence type, - boolean isFirstEntry) { - bindData(titleText, data, type, isFirstEntry, false); + private void bindData(Drawable icon, String iconContentDescription, CharSequence data, + CharSequence type, boolean isFirstEntry) { + bindData(icon, iconContentDescription, data, type, isFirstEntry, false); } - private void bindData(CharSequence titleText, CharSequence data, CharSequence type, - boolean isFirstEntry, boolean forceLTR) { + private void bindData(Drawable icon, String iconContentDescription, CharSequence data, + CharSequence type, boolean isFirstEntry, boolean forceLTR) { final View field = mInflater.inflate(R.layout.item_read_only_field, mGeneral, false); - final View divider = field.findViewById(R.id.divider); if (isFirstEntry) { - final TextView titleView = (TextView) field.findViewById(R.id.kind_title); - titleView.setText(titleText); - divider.setVisibility(View.GONE); + final ImageView imageView = (ImageView) field.findViewById(R.id.kind_icon); + imageView.setImageDrawable(icon); + imageView.setContentDescription(iconContentDescription); } else { - View titleContainer = field.findViewById(R.id.kind_title_layout); - titleContainer.setVisibility(View.GONE); - divider.setVisibility(View.VISIBLE); + final ImageView imageView = (ImageView) field.findViewById(R.id.kind_icon); + imageView.setVisibility(View.INVISIBLE); + imageView.setContentDescription(null); } final TextView dataView = (TextView) field.findViewById(R.id.data); dataView.setText(data); |