summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/spam/Spam.java
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-01-25 00:47:22 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-01-25 00:47:22 +0000
commit3bee9a13ea767987623d422457fc4fbe8daa81e5 (patch)
tree0503b23642f1e4aaba3aa4d94769c6289e571215 /java/com/android/dialer/spam/Spam.java
parent418a818639a2dad7ed9f06b0785ed4f55966f56e (diff)
parent9e04310a9902a4dbf593060baaf41c37919fd7fe (diff)
Merge changes I647568c3,I73d3349f,I0889ea61,I981e944d,Ica75164c
* changes: Define methods in Spam interface to be used later in the PhoneLookup for spam features. Link to the correct Assisted Dialing settings depending on platform version. Add foreground service permission Fixed a regression where we incorrectly reported that the dialpad was visible. Add support for yesterday header in NUI Voicemail Tab
Diffstat (limited to 'java/com/android/dialer/spam/Spam.java')
-rw-r--r--java/com/android/dialer/spam/Spam.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/java/com/android/dialer/spam/Spam.java b/java/com/android/dialer/spam/Spam.java
index b1240c69a..ea1ea138e 100644
--- a/java/com/android/dialer/spam/Spam.java
+++ b/java/com/android/dialer/spam/Spam.java
@@ -18,9 +18,13 @@ package com.android.dialer.spam;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import com.android.dialer.DialerPhoneNumber;
import com.android.dialer.logging.ContactLookupResult;
import com.android.dialer.logging.ContactSource;
import com.android.dialer.logging.ReportingLocation;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.util.concurrent.ListenableFuture;
/** Allows the container application to mark calls as spam. */
public interface Spam {
@@ -39,7 +43,17 @@ public interface Spam {
int percentOfNonSpamNotificationsToShow();
/**
- * Checks if the given number is suspected of being a spamer.
+ * Checks if each of numbers in the given list is suspected of being a spam.
+ *
+ * @param dialerPhoneNumbers A list of {@link DialerPhoneNumber}.
+ * @return A {@link ListenableFuture} of a map that maps each number to its spam status
+ * (true/false).
+ */
+ ListenableFuture<ImmutableMap<DialerPhoneNumber, Boolean>> batchCheckSpamStatus(
+ ImmutableList<DialerPhoneNumber> dialerPhoneNumbers);
+
+ /**
+ * Checks if the given number is suspected of being a spam.
*
* @param number The phone number of the call.
* @param countryIso The country ISO of the call.
@@ -81,6 +95,15 @@ public interface Spam {
boolean checkSpamStatusSynchronous(String number, String countryIso);
/**
+ * Returns a {@link ListenableFuture} indicating whether the spam data have been updated since
+ * {@code timestampMillis}.
+ *
+ * <p>It is the caller's responsibility to ensure the timestamp is in milliseconds. Failure to do
+ * so will result in undefined behavior.
+ */
+ ListenableFuture<Boolean> dataUpdatedSince(long timestampMillis);
+
+ /**
* Reports number as spam.
*
* @param number The number to be reported.