summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRohit Yengisetty <rohit@cyngn.com>2016-05-17 09:54:27 -0700
committerRohit Yengisetty <rohit@cyngn.com>2016-05-17 18:04:49 -0700
commit6a15637c0746c664310f34739e1126abde956565 (patch)
treedfadbed06f90249599ac147604aff57a5a67941b /src
parent6b0990804aa144740133872dc712b35e35db84ab (diff)
downloadandroid_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.java26
-rw-r--r--src/com/android/dialer/PhoneCallDetails.java7
-rw-r--r--src/com/android/dialer/calllog/CallLogAsyncTaskUtil.java6
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) {