From ee506ae30e8df1a13af215676e9e29a07bd8d75a Mon Sep 17 00:00:00 2001 From: linyuh Date: Fri, 18 May 2018 14:33:33 -0700 Subject: Don't show an outgoing call to a spam number as spam. Bug: 79770053 Test: SpamTest + Existing tests PiperOrigin-RevId: 197201496 Change-Id: Iff2eb03d00d3b559d2a008487b19a2d044b2cb5b --- .../HistoryItemActionModulesBuilder.java | 30 ++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'java/com/android/dialer/historyitemactions') diff --git a/java/com/android/dialer/historyitemactions/HistoryItemActionModulesBuilder.java b/java/com/android/dialer/historyitemactions/HistoryItemActionModulesBuilder.java index e1c6c9666..a09f6e10b 100644 --- a/java/com/android/dialer/historyitemactions/HistoryItemActionModulesBuilder.java +++ b/java/com/android/dialer/historyitemactions/HistoryItemActionModulesBuilder.java @@ -30,6 +30,7 @@ import com.android.dialer.common.Assert; import com.android.dialer.duo.Duo; import com.android.dialer.duo.DuoComponent; import com.android.dialer.logging.ReportingLocation; +import com.android.dialer.spam.Spam; import com.android.dialer.util.CallUtil; import com.android.dialer.util.UriUtils; import java.util.ArrayList; @@ -120,8 +121,8 @@ public final class HistoryItemActionModulesBuilder { * * *

If the provided module info is for a Duo video call and Duo is available, add a Duo video @@ -141,8 +142,8 @@ public final class HistoryItemActionModulesBuilder { public HistoryItemActionModulesBuilder addModuleForVideoCall() { if (moduleInfo.getIsEmergencyNumber() || moduleInfo.getIsVoicemailCall() - || moduleInfo.getIsBlocked() - || moduleInfo.getIsSpam()) { + || Spam.shouldShowAsSpam(moduleInfo.getIsSpam(), moduleInfo.getCallType()) + || moduleInfo.getIsBlocked()) { return this; } @@ -221,8 +222,8 @@ public final class HistoryItemActionModulesBuilder { *

@@ -230,8 +231,8 @@ public final class HistoryItemActionModulesBuilder { public HistoryItemActionModulesBuilder addModuleForAddingToContacts() { if (moduleInfo.getIsEmergencyNumber() || moduleInfo.getIsVoicemailCall() + || Spam.shouldShowAsSpam(moduleInfo.getIsSpam(), moduleInfo.getCallType()) || moduleInfo.getIsBlocked() - || moduleInfo.getIsSpam() || isExistingContact() || TextUtils.isEmpty(moduleInfo.getNormalizedNumber())) { return this; @@ -264,16 +265,17 @@ public final class HistoryItemActionModulesBuilder { *
  • the call is one made to a voicemail box. * * - *

    If a number is marked as spam, add two modules: + *

    If the call should be shown as spam, add two modules: * *

    * - *

    If a number is blocked but not marked as spam, add the "Unblock" module. + *

    If the number is blocked but the call should not be shown as spam, add the "Unblock" module. * - *

    If a number is not blocked or marked as spam, add the "Block/Report spam" module. + *

    If the number is not blocked and the call should not be shown as spam, add the "Block/Report + * spam" module. */ public HistoryItemActionModulesBuilder addModuleForBlockedOrSpamNumber() { if (moduleInfo.getIsEmergencyNumber() || moduleInfo.getIsVoicemailCall()) { @@ -289,10 +291,10 @@ public final class HistoryItemActionModulesBuilder { .setContactSource(moduleInfo.getContactSource()) .build(); - // For a spam number, add two modules: + // For a call that should be shown as spam, add two modules: // (1) "Not spam" and "Block", or // (2) "Not spam" and "Unblock". - if (moduleInfo.getIsSpam()) { + if (Spam.shouldShowAsSpam(moduleInfo.getIsSpam(), moduleInfo.getCallType())) { modules.add( BlockReportSpamModules.moduleForMarkingNumberAsNotSpam( context, blockReportSpamDialogInfo)); @@ -303,14 +305,16 @@ public final class HistoryItemActionModulesBuilder { return this; } - // For a blocked non-spam number, add the "Unblock" module. + // For a blocked number associated with a call that should not be shown as spam, add the + // "Unblock" module. if (moduleInfo.getIsBlocked()) { modules.add( BlockReportSpamModules.moduleForUnblockingNumber(context, blockReportSpamDialogInfo)); return this; } - // For a number that is neither a spam number nor blocked, add the "Block/Report spam" module. + // For a number that is not blocked and is associated with a call that should not be shown as + // spam, add the "Block/Report spam" module. modules.add( BlockReportSpamModules.moduleForBlockingNumberAndOptionallyReportingSpam( context, blockReportSpamDialogInfo)); -- cgit v1.2.3