diff options
author | Rohit Yengisetty <rohit@cyngn.com> | 2016-05-17 09:54:27 -0700 |
---|---|---|
committer | Rohit Yengisetty <rohit@cyngn.com> | 2016-05-17 18:04:49 -0700 |
commit | 6a15637c0746c664310f34739e1126abde956565 (patch) | |
tree | dfadbed06f90249599ac147604aff57a5a67941b /src | |
parent | 6b0990804aa144740133872dc712b35e35db84ab (diff) | |
download | android_packages_apps_Dialer-6a15637c0746c664310f34739e1126abde956565.tar.gz android_packages_apps_Dialer-6a15637c0746c664310f34739e1126abde956565.tar.bz2 android_packages_apps_Dialer-6a15637c0746c664310f34739e1126abde956565.zip |
Add additional info from contact-info provider, if any, to Call Details
The additional information includes a contact image, attribution
icon and spam information.
Issue-Id: OPO-727
Change-Id: I2b678f1fbbc2e6980ef545abcc4a117eeda4771d
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/dialer/CallDetailActivity.java | 26 | ||||
-rw-r--r-- | src/com/android/dialer/PhoneCallDetails.java | 7 | ||||
-rw-r--r-- | src/com/android/dialer/calllog/CallLogAsyncTaskUtil.java | 6 |
3 files changed, 39 insertions, 0 deletions
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java index b5b24150a..e678099d4 100644 --- a/src/com/android/dialer/CallDetailActivity.java +++ b/src/com/android/dialer/CallDetailActivity.java @@ -54,6 +54,7 @@ import com.android.dialer.calllog.CallLogAsyncTaskUtil; import com.android.dialer.calllog.CallTypeHelper; import com.android.dialer.calllog.ContactInfoHelper; import com.android.dialer.calllog.PhoneAccountUtils; +import com.android.dialer.util.ImageUtils; import com.android.dialer.util.IntentUtil; import com.android.dialer.util.PhoneNumberUtil; import com.android.dialer.util.TelecomUtil; @@ -186,6 +187,29 @@ public class CallDetailActivity extends Activity mBlockContactHelper.setContactInfo(mNumber); loadContactPhotos(contactUri, photoUri, nameForDefaultImage, lookupKey, contactType, photoId, mInCallComponentName); + + // incorporate information from contact-info provider + if (!TextUtils.isEmpty(firstDetails.photoUrl) && !firstDetails.isSpam) { + ImageUtils.loadBitampFromUrl(CallDetailActivity.this, + firstDetails.photoUrl, + mDialerQuickContact.getQuickContactBadge()); + } else if (firstDetails.isSpam) { + mCallerName.setTextColor( + mResources.getColor(R.color.spam_contact_color, mContext.getTheme())); + + mSpamInfo.setVisibility(View.VISIBLE); + mSpamInfo.setText(mContext.getResources().getQuantityString( + R.plurals.spam_count_text, firstDetails.spamCount, + firstDetails.spamCount)); + + mDialerQuickContact.getQuickContactBadge().setImageResource( + R.drawable.ic_spam_avatar); + } + + if (firstDetails.attributionDrawable != null) { + mDialerQuickContact.setAttributionBadge(firstDetails.attributionDrawable); + } + findViewById(R.id.call_detail).setVisibility(View.VISIBLE); } @@ -223,6 +247,7 @@ public class CallDetailActivity extends Activity private TextView mCallerNumber; private TextView mAccountLabel; private View mCallButton; + private TextView mSpamInfo; private LookupProvider mLookupProvider; private ContactInfoHelper mContactInfoHelper; private BlockContactHelper mBlockContactHelper; @@ -266,6 +291,7 @@ public class CallDetailActivity extends Activity mDialerQuickContact.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE); mCallerName = (TextView) findViewById(R.id.caller_name); mCallerNumber = (TextView) findViewById(R.id.caller_number); + mSpamInfo = (TextView) findViewById(R.id.spam_info); mAccountLabel = (TextView) findViewById(R.id.phone_account_label); mDefaultCountryIso = GeoUtil.getCurrentCountryIso(this); mContactPhotoManager = ContactPhotoManager.getInstance(this); diff --git a/src/com/android/dialer/PhoneCallDetails.java b/src/com/android/dialer/PhoneCallDetails.java index d0670dc3c..6adb23c61 100644 --- a/src/com/android/dialer/PhoneCallDetails.java +++ b/src/com/android/dialer/PhoneCallDetails.java @@ -17,6 +17,7 @@ package com.android.dialer; import android.content.ComponentName; +import android.graphics.drawable.Drawable; import com.android.dialer.calllog.PhoneNumberDisplayUtil; import android.content.Context; @@ -96,6 +97,12 @@ public class PhoneCallDetails { // Whether the contact number is a voicemail number. public boolean isVoicemail; + public boolean isSpam; + public int spamCount; + public String photoUrl; + public String lookupProviderName; + public Drawable attributionDrawable; + /** * If this is a voicemail, whether the message is read. For other types of calls, this defaults * to {@code true}. diff --git a/src/com/android/dialer/calllog/CallLogAsyncTaskUtil.java b/src/com/android/dialer/calllog/CallLogAsyncTaskUtil.java index 5a5682cab..efb094576 100644 --- a/src/com/android/dialer/calllog/CallLogAsyncTaskUtil.java +++ b/src/com/android/dialer/calllog/CallLogAsyncTaskUtil.java @@ -216,6 +216,12 @@ public class CallLogAsyncTaskUtil { details.inCallComponentName = null; } + details.isSpam = info.isSpam; + details.spamCount = info.spamCount; + details.photoUrl = info.photoUrl; + details.lookupProviderName = info.lookupProviderName; + details.attributionDrawable = info.attributionDrawable; + return details; } finally { if (cursor != null) { |