summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calllogutils
diff options
context:
space:
mode:
authorlinyuh <linyuh@google.com>2018-05-18 14:33:33 -0700
committerCopybara-Service <copybara-piper@google.com>2018-05-18 15:21:06 -0700
commitee506ae30e8df1a13af215676e9e29a07bd8d75a (patch)
treeb6469462f17de40c7688a83ea99006ade5a6004b /java/com/android/dialer/calllogutils
parent77669bbcb44857df47eed9ae598be1258961857d (diff)
Don't show an outgoing call to a spam number as spam.
Bug: 79770053 Test: SpamTest + Existing tests PiperOrigin-RevId: 197201496 Change-Id: Iff2eb03d00d3b559d2a008487b19a2d044b2cb5b
Diffstat (limited to 'java/com/android/dialer/calllogutils')
-rw-r--r--java/com/android/dialer/calllogutils/CallLogEntryText.java36
-rw-r--r--java/com/android/dialer/calllogutils/PhotoInfoBuilder.java12
2 files changed, 29 insertions, 19 deletions
diff --git a/java/com/android/dialer/calllogutils/CallLogEntryText.java b/java/com/android/dialer/calllogutils/CallLogEntryText.java
index 54b1e195a..acf8ef932 100644
--- a/java/com/android/dialer/calllogutils/CallLogEntryText.java
+++ b/java/com/android/dialer/calllogutils/CallLogEntryText.java
@@ -21,6 +21,7 @@ import android.provider.CallLog.Calls;
import android.text.TextUtils;
import com.android.dialer.calllog.model.CoalescedRow;
import com.android.dialer.duo.DuoComponent;
+import com.android.dialer.spam.Spam;
import com.android.dialer.time.Clock;
import com.google.common.base.Optional;
import com.google.common.collect.Collections2;
@@ -80,13 +81,15 @@ public final class CallLogEntryText {
* <p>Rules:
*
* <ul>
- * <li>For emergency numbers: Date
- * <li>For numbers that are not spam or blocked: $Label(, Duo video|Carrier video)?|$Location •
- * Date
- * <li>For blocked non-spam numbers: Blocked • $Label(, Duo video|Carrier video)?|$Location •
- * Date
- * <li>For spam but not blocked numbers: Spam • $Label(, Duo video|Carrier video)? • Date
- * <li>For blocked spam numbers: Blocked • Spam • $Label(, Duo video|Carrier video)? • Date
+ * <li>An emergency number: Date
+ * <li>Number - not blocked, call - not spam:
+ * <p>$Label(, Duo video|Carrier video)?|$Location • Date
+ * <li>Number - blocked, call - not spam:
+ * <p>Blocked • $Label(, Duo video|Carrier video)?|$Location • Date
+ * <li>Number - not blocked, call - spam:
+ * <p>Spam • $Label(, Duo video|Carrier video)? • Date
+ * <li>Number - blocked, call - spam:
+ * <p>Blocked • Spam • $Label(, Duo video|Carrier video)? • Date
* </ul>
*
* <p>Examples:
@@ -119,7 +122,7 @@ public final class CallLogEntryText {
if (row.getNumberAttributes().getIsBlocked()) {
components.add(context.getText(R.string.new_call_log_secondary_blocked));
}
- if (row.getNumberAttributes().getIsSpam()) {
+ if (Spam.shouldShowAsSpam(row.getNumberAttributes().getIsSpam(), row.getCallType())) {
components.add(context.getText(R.string.new_call_log_secondary_spam));
}
@@ -141,15 +144,15 @@ public final class CallLogEntryText {
public static CharSequence buildSecondaryTextForBottomSheet(Context context, CoalescedRow row) {
/*
* Rules:
- * For emergency numbers:
+ * For an emergency number:
* Number
- * For numbers that are not spam or blocked:
+ * Number - not blocked, call - not spam:
* $Label(, Duo video|Carrier video)?|$Location [• NumberIfNoName]?
- * For blocked non-spam numbers:
+ * Number - blocked, call - not spam:
* Blocked • $Label(, Duo video|Carrier video)?|$Location [• NumberIfNoName]?
- * For spam but not blocked numbers:
+ * Number - not blocked, call - spam:
* Spam • $Label(, Duo video|Carrier video)? [• NumberIfNoName]?
- * For blocked spam numbers:
+ * Number - blocked, call - spam:
* Blocked • Spam • $Label(, Duo video|Carrier video)? [• NumberIfNoName]?
*
* The number is shown at the end if there is no name for the entry. (It is shown in primary
@@ -178,7 +181,7 @@ public final class CallLogEntryText {
if (row.getNumberAttributes().getIsBlocked()) {
components.add(context.getText(R.string.new_call_log_secondary_blocked));
}
- if (row.getNumberAttributes().getIsSpam()) {
+ if (Spam.shouldShowAsSpam(row.getNumberAttributes().getIsSpam(), row.getCallType())) {
components.add(context.getText(R.string.new_call_log_secondary_spam));
}
@@ -234,8 +237,9 @@ public final class CallLogEntryText {
// Show the location if
// (1) there is no number type label, and
- // (2) the number is not spam.
- if (TextUtils.isEmpty(numberTypeLabel) && !row.getNumberAttributes().getIsSpam()) {
+ // (2) the call should not be shown as spam.
+ if (TextUtils.isEmpty(numberTypeLabel)
+ && !Spam.shouldShowAsSpam(row.getNumberAttributes().getIsSpam(), row.getCallType())) {
// If number attributes contain a location (obtained from a PhoneLookup), use it instead
// of the one from the annotated call log.
String location =
diff --git a/java/com/android/dialer/calllogutils/PhotoInfoBuilder.java b/java/com/android/dialer/calllogutils/PhotoInfoBuilder.java
index 8d193bfd3..0677c9114 100644
--- a/java/com/android/dialer/calllogutils/PhotoInfoBuilder.java
+++ b/java/com/android/dialer/calllogutils/PhotoInfoBuilder.java
@@ -21,6 +21,7 @@ import android.support.v4.os.BuildCompat;
import com.android.dialer.NumberAttributes;
import com.android.dialer.calllog.model.CoalescedRow;
import com.android.dialer.glidephotomanager.PhotoInfo;
+import com.android.dialer.spam.Spam;
import com.android.dialer.voicemail.model.VoicemailEntry;
/** Builds {@link PhotoInfo} from other data types. */
@@ -31,6 +32,9 @@ public final class PhotoInfoBuilder {
return fromNumberAttributes(coalescedRow.getNumberAttributes())
.setFormattedNumber(coalescedRow.getFormattedNumber())
.setIsVoicemail(coalescedRow.getIsVoicemailCall())
+ .setIsSpam(
+ Spam.shouldShowAsSpam(
+ coalescedRow.getNumberAttributes().getIsSpam(), coalescedRow.getCallType()))
.setIsVideo((coalescedRow.getFeatures() & Calls.FEATURES_VIDEO) == Calls.FEATURES_VIDEO)
.setIsRtt(
BuildCompat.isAtLeastP()
@@ -40,7 +44,10 @@ public final class PhotoInfoBuilder {
/** Returns a {@link PhotoInfo.Builder} with info from {@link VoicemailEntry}. */
public static PhotoInfo.Builder fromVoicemailEntry(VoicemailEntry voicemailEntry) {
return fromNumberAttributes(voicemailEntry.getNumberAttributes())
- .setFormattedNumber(voicemailEntry.getFormattedNumber());
+ .setFormattedNumber(voicemailEntry.getFormattedNumber())
+ .setIsSpam(
+ Spam.shouldShowAsSpam(
+ voicemailEntry.getNumberAttributes().getIsSpam(), voicemailEntry.getCallType()));
}
/** Returns a {@link PhotoInfo.Builder} with info from {@link NumberAttributes}. */
@@ -51,7 +58,6 @@ public final class PhotoInfoBuilder {
.setPhotoId(numberAttributes.getPhotoId())
.setLookupUri(numberAttributes.getLookupUri())
.setIsBusiness(numberAttributes.getIsBusiness())
- .setIsBlocked(numberAttributes.getIsBlocked())
- .setIsSpam(numberAttributes.getIsSpam());
+ .setIsBlocked(numberAttributes.getIsBlocked());
}
}