diff options
Diffstat (limited to 'src/com/android/dialer/calllog')
4 files changed, 16 insertions, 0 deletions
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java index dac50ff1f..af77d8621 100644 --- a/src/com/android/dialer/calllog/CallLogAdapter.java +++ b/src/com/android/dialer/calllog/CallLogAdapter.java @@ -41,6 +41,7 @@ import android.view.View.AccessibilityDelegate; import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; +import com.android.contacts.common.ContactsUtils; import com.android.contacts.common.compat.PhoneNumberUtilsCompat; import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.util.PermissionsUtil; @@ -55,6 +56,7 @@ import com.android.dialer.logging.InteractionEvent; import com.android.dialer.logging.Logger; import com.android.dialer.util.PhoneNumberUtil; import com.android.dialer.voicemail.VoicemailPlaybackPresenter; +import com.android.incallui.CallerInfo; import java.util.HashMap; @@ -400,6 +402,7 @@ public class CallLogAdapter extends GroupingListAdapter * @param viewHolder The view corresponding to this entry. * @param position The position of the entry. */ + @Override public void onBindViewHolder(ViewHolder viewHolder, int position) { Trace.beginSection("onBindViewHolder: " + position); @@ -497,6 +500,7 @@ public class CallLogAdapter extends GroupingListAdapter details.photoUri = info.photoUri; details.sourceType = info.sourceType; details.objectId = info.objectId; + details.contactUserType = info.userType; } final CallLogListItemViewHolder views = (CallLogListItemViewHolder) viewHolder; @@ -517,6 +521,8 @@ public class CallLogAdapter extends GroupingListAdapter details.numberLabel); // Default case: an item in the call log. views.primaryActionView.setVisibility(View.VISIBLE); + views.workIconView.setVisibility( + details.contactUserType == ContactsUtils.USER_TYPE_WORK ? View.VISIBLE : View.GONE); // Check if the day group has changed and display a header if necessary. int currentGroup = getDayGroupForCall(views.rowId); diff --git a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java index 21f3213a6..7e1471953 100644 --- a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java +++ b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java @@ -96,6 +96,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder public View sendMessageView; public View detailsButtonView; public View callWithNoteButtonView; + public ImageView workIconView; /** * The row Id for the first call associated with the call log entry. Used as a key for the @@ -233,6 +234,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder this.callLogEntryView = callLogEntryView; this.dayGroupHeader = dayGroupHeader; this.primaryActionButtonView = primaryActionButtonView; + this.workIconView = (ImageView) rootView.findViewById(R.id.work_profile_icon); Resources resources = mContext.getResources(); mPhotoSize = mContext.getResources().getDimensionPixelSize(R.dimen.contact_photo_size); diff --git a/src/com/android/dialer/calllog/ContactInfo.java b/src/com/android/dialer/calllog/ContactInfo.java index 30f60d9d3..1020d109c 100644 --- a/src/com/android/dialer/calllog/ContactInfo.java +++ b/src/com/android/dialer/calllog/ContactInfo.java @@ -19,6 +19,7 @@ package com.android.dialer.calllog; import android.net.Uri; import android.text.TextUtils; +import com.android.contacts.common.ContactsUtils.UserType; import com.android.contacts.common.util.UriUtils; import com.google.common.base.Objects; @@ -46,6 +47,7 @@ public class ContactInfo { public Uri photoUri; public boolean isBadData; public String objectId; + public @UserType long userType; public static ContactInfo EMPTY = new ContactInfo(); @@ -80,6 +82,7 @@ public class ContactInfo { if (photoId != other.photoId) return false; if (!UriUtils.areEqual(photoUri, other.photoUri)) return false; if (!TextUtils.equals(objectId, other.objectId)) return false; + if (userType != other.userType) return false; return true; } diff --git a/src/com/android/dialer/calllog/ContactInfoHelper.java b/src/com/android/dialer/calllog/ContactInfoHelper.java index 1fd2fad5e..e075b9bf3 100644 --- a/src/com/android/dialer/calllog/ContactInfoHelper.java +++ b/src/com/android/dialer/calllog/ContactInfoHelper.java @@ -32,6 +32,7 @@ import android.text.TextUtils; import android.util.Log; import com.android.contacts.common.ContactsUtils; +import com.android.contacts.common.compat.ContactsCompat; import com.android.contacts.common.util.Constants; import com.android.contacts.common.util.PermissionsUtil; import com.android.contacts.common.util.PhoneNumberHelper; @@ -41,6 +42,7 @@ import com.android.dialer.service.CachedNumberLookupService; import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo; import com.android.dialer.util.TelecomUtil; import com.android.dialerbind.ObjectFactory; +import com.android.incallui.CallerInfo; import org.json.JSONException; import org.json.JSONObject; @@ -200,6 +202,9 @@ public class ContactInfoHelper { info.photoId = phoneLookupCursor.getLong(PhoneQuery.PHOTO_ID); info.photoUri = UriUtils.parseUriOrNull(phoneLookupCursor.getString(PhoneQuery.PHOTO_URI)); info.formattedNumber = null; + info.userType = ContactsUtils.determineUserType(null, + phoneLookupCursor.getLong(PhoneQuery.PERSON_ID)); + return info; } |