Fixes text overlapping secondary icon
Bug: 16858313
Change-Id: I64f535b8f803ebb9e60ce3337aa1f64e995f2222
diff --git a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
index a536f8c..22126ac 100644
--- a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
+++ b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
@@ -67,7 +67,7 @@
*/
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 @@
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 @@
return mIsEditable;
}
- int getViewId() {
- return mViewId;
+ int getId() {
+ return mId;
}
EntryContextMenuInfo getEntryContextMenuInfo() {
@@ -491,7 +491,6 @@
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 @@
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 @@
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 @@
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 172eb0d..edcb662 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.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 @@
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();
+ final Object entryTagObject = v.getTag();
+ if (entryTagObject == null || !(entryTagObject instanceof EntryTag)) {
+ Log.w(TAG, "EntryTag was not used correctly");
+ return;
+ }
+ 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 Object intentObject = v.getTag();
- if (intentObject == null || !(intentObject instanceof Intent)) {
- Log.w(TAG, "Intent tag was not used correctly");
- 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