summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/spam
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/spam
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/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);
+ }
}