diff options
author | Paul Soulos <psoulos@google.com> | 2014-08-12 11:58:39 -0700 |
---|---|---|
committer | Paul Soulos <psoulos@google.com> | 2014-08-12 12:12:19 -0700 |
commit | 2ed2a73d15bd80bced18e5924d3f84c8a9e5e5a5 (patch) | |
tree | 6913764207c09db11715d9980518b3d2fa08e1be | |
parent | fa238949855fba3b28a57fad3d585b13e80362bb (diff) | |
download | android_packages_apps_Contacts-2ed2a73d15bd80bced18e5924d3f84c8a9e5e5a5.tar.gz android_packages_apps_Contacts-2ed2a73d15bd80bced18e5924d3f84c8a9e5e5a5.tar.bz2 android_packages_apps_Contacts-2ed2a73d15bd80bced18e5924d3f84c8a9e5e5a5.zip |
Fixes text overlapping secondary icon
Bug: 16858313
Change-Id: I64f535b8f803ebb9e60ce3337aa1f64e995f2222
-rw-r--r-- | src/com/android/contacts/quickcontact/ExpandingEntryCardView.java | 38 | ||||
-rw-r--r-- | src/com/android/contacts/quickcontact/QuickContactActivity.java | 18 |
2 files changed, 37 insertions, 19 deletions
diff --git a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java index a536f8c4e..22126ac7c 100644 --- a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java +++ b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java @@ -67,7 +67,7 @@ public class ExpandingEntryCardView extends CardView { */ public static final class Entry { - private final int mViewId; + private final int mId; private final Drawable mIcon; private final String mHeader; private final String mSubHeader; @@ -82,21 +82,21 @@ public class ExpandingEntryCardView extends CardView { private final boolean mIsEditable; private final EntryContextMenuInfo mEntryContextMenuInfo; - public Entry(int viewId, Drawable icon, String header, String subHeader, String text, + public Entry(int id, Drawable icon, String header, String subHeader, String text, Intent intent, Drawable alternateIcon, Intent alternateIntent, String alternateContentDescription, boolean shouldApplyColor, boolean isEditable, EntryContextMenuInfo entryContextMenuInfo) { - this(viewId, icon, header, subHeader, null, text, null, intent, alternateIcon, + this(id, icon, header, subHeader, null, text, null, intent, alternateIcon, alternateIntent, alternateContentDescription, shouldApplyColor, isEditable, entryContextMenuInfo); } - public Entry(int viewId, Drawable mainIcon, String header, String subHeader, + public Entry(int id, Drawable mainIcon, String header, String subHeader, Drawable subHeaderIcon, String text, Drawable textIcon, Intent intent, Drawable alternateIcon, Intent alternateIntent, String alternateContentDescription, boolean shouldApplyColor, boolean isEditable, EntryContextMenuInfo entryContextMenuInfo) { - mViewId = viewId; + mId = id; mIcon = mainIcon; mHeader = header; mSubHeader = subHeader; @@ -160,8 +160,8 @@ public class ExpandingEntryCardView extends CardView { return mIsEditable; } - int getViewId() { - return mViewId; + int getId() { + return mId; } EntryContextMenuInfo getEntryContextMenuInfo() { @@ -491,7 +491,6 @@ public class ExpandingEntryCardView extends CardView { R.layout.expanding_entry_card_item, this, false); view.setContextMenuInfo(entry.getEntryContextMenuInfo()); - view.setId(entry.getViewId()); final ImageView icon = (ImageView) view.findViewById(R.id.icon); icon.setVisibility(iconVisibility); @@ -535,7 +534,7 @@ public class ExpandingEntryCardView extends CardView { if (entry.getIntent() != null) { view.setOnClickListener(mOnClickListener); - view.setTag(entry.getIntent()); + view.setTag(new EntryTag(entry.getId(), entry.getIntent())); } // If only the header is visible, add a top margin to match icon's top margin. @@ -555,8 +554,7 @@ public class ExpandingEntryCardView extends CardView { if (entry.getAlternateIcon() != null && entry.getAlternateIntent() != null) { alternateIcon.setImageDrawable(entry.getAlternateIcon()); alternateIcon.setOnClickListener(mOnClickListener); - alternateIcon.setTag(entry.getAlternateIntent()); - alternateIcon.setId(entry.getViewId()); + alternateIcon.setTag(new EntryTag(entry.getId(), entry.getAlternateIntent())); alternateIcon.setVisibility(View.VISIBLE); alternateIcon.setContentDescription(entry.getAlternateContentDescription()); @@ -808,4 +806,22 @@ public class ExpandingEntryCardView extends CardView { return mCopyLabel; } } + + static final class EntryTag { + private final int mId; + private final Intent mIntent; + + public EntryTag(int id, Intent intent) { + mId = id; + mIntent = intent; + } + + public int getId() { + return mId; + } + + public Intent getIntent() { + return mIntent; + } + } } diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java index 172eb0d42..edcb662bf 100644 --- a/src/com/android/contacts/quickcontact/QuickContactActivity.java +++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java @@ -128,6 +128,7 @@ import com.android.contacts.interactions.ContactInteraction; import com.android.contacts.interactions.SmsInteractionsLoader; import com.android.contacts.quickcontact.ExpandingEntryCardView.Entry; import com.android.contacts.quickcontact.ExpandingEntryCardView.EntryContextMenuInfo; +import com.android.contacts.quickcontact.ExpandingEntryCardView.EntryTag; import com.android.contacts.quickcontact.ExpandingEntryCardView.ExpandingEntryCardViewListener; import com.android.contacts.util.ImageViewDrawableSetter; import com.android.contacts.util.PhoneCapabilityTester; @@ -287,18 +288,19 @@ public class QuickContactActivity extends ContactsActivity { final OnClickListener mEntryClickHandler = new OnClickListener() { @Override public void onClick(View v) { - // Data Id is stored as the entry view id - final int dataId = v.getId(); - if (dataId == CARD_ENTRY_ID_EDIT_CONTACT) { - editContact(); + final Object entryTagObject = v.getTag(); + if (entryTagObject == null || !(entryTagObject instanceof EntryTag)) { + Log.w(TAG, "EntryTag was not used correctly"); return; } - final Object intentObject = v.getTag(); - if (intentObject == null || !(intentObject instanceof Intent)) { - Log.w(TAG, "Intent tag was not used correctly"); + final EntryTag entryTag = (EntryTag) entryTagObject; + final Intent intent = entryTag.getIntent(); + final int dataId = entryTag.getId(); + + if (dataId == CARD_ENTRY_ID_EDIT_CONTACT) { + editContact(); return; } - final Intent intent = (Intent) intentObject; // Default to USAGE_TYPE_CALL. Usage is summed among all types for sorting each data id // so the exact usage type is not necessary in all cases |