summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/spam
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/spam')
-rw-r--r--java/com/android/dialer/spam/Spam.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/java/com/android/dialer/spam/Spam.java b/java/com/android/dialer/spam/Spam.java
index 0229782bf..028bda40a 100644
--- a/java/com/android/dialer/spam/Spam.java
+++ b/java/com/android/dialer/spam/Spam.java
@@ -18,6 +18,7 @@ package com.android.dialer.spam;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
+import android.provider.CallLog.Calls;
import android.support.annotation.Nullable;
import com.android.dialer.DialerPhoneNumber;
import com.android.dialer.logging.ContactLookupResult;
@@ -166,4 +167,25 @@ public interface Spam {
int callType,
ReportingLocation.Type from,
ContactSource.Type contactSourceType);
+
+ /**
+ * Given a number's spam status and a call type, determine if the call should be shown as spam.
+ *
+ * <p>We show a call as spam if
+ *
+ * <ul>
+ * <li>the number is marked as spam, and
+ * <li>the call is not an outgoing call.
+ * </ul>
+ *
+ * <p>This is because spammers can hide behind a legit number (e.g., a customer service number).
+ * We don't want to show a spam icon when users call it.
+ *
+ * @param isNumberSpam Whether the number is spam.
+ * @param callType One of the types in {@link android.provider.CallLog.Calls#TYPE}.
+ * @return true if the number is spam *and* the call is not an outgoing call.
+ */
+ static boolean shouldShowAsSpam(boolean isNumberSpam, int callType) {
+ return isNumberSpam && (callType != Calls.OUTGOING_TYPE);
+ }
}