summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/p13n
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-03-15 14:41:07 -0700
committerEric Erfanian <erfanian@google.com>2017-03-15 16:24:23 -0700
commitd5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9 (patch)
treeb54abbb51fb7d66e7755a1fbb5db023ff601090b /java/com/android/dialer/p13n
parent30436e7e6d3f2c8755a91b2b6222b74d465a9e87 (diff)
Update Dialer source from latest green build.
* Refactor voicemail component * Add new enriched calling components Test: treehugger, manual aosp testing Change-Id: I521a0f86327d4b42e14d93927c7d613044ed5942
Diffstat (limited to 'java/com/android/dialer/p13n')
-rw-r--r--java/com/android/dialer/p13n/inference/P13nRanking.java49
-rw-r--r--java/com/android/dialer/p13n/inference/protocol/P13nRanker.java10
2 files changed, 40 insertions, 19 deletions
diff --git a/java/com/android/dialer/p13n/inference/P13nRanking.java b/java/com/android/dialer/p13n/inference/P13nRanking.java
index 6bfc0352a..0682e85db 100644
--- a/java/com/android/dialer/p13n/inference/P13nRanking.java
+++ b/java/com/android/dialer/p13n/inference/P13nRanking.java
@@ -22,6 +22,7 @@ import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.android.dialer.common.Assert;
+import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.p13n.inference.protocol.P13nRanker;
import com.android.dialer.p13n.inference.protocol.P13nRankerFactory;
import java.util.List;
@@ -38,37 +39,51 @@ public final class P13nRanking {
public static P13nRanker get(@NonNull Context context) {
Assert.isNotNull(context);
Assert.isMainThread();
+
if (ranker != null) {
return ranker;
}
+ if (!ConfigProviderBindings.get(context).getBoolean("p13n_ranker_should_enable", false)) {
+ setToIdentityRanker();
+ return ranker;
+ }
+
Context application = context.getApplicationContext();
if (application instanceof P13nRankerFactory) {
ranker = ((P13nRankerFactory) application).newP13nRanker();
}
if (ranker == null) {
- ranker =
- new P13nRanker() {
- @Override
- public void refresh(@Nullable P13nRefreshCompleteListener listener) {}
-
- @Override
- public List<String> rankList(List<String> phoneNumbers) {
- return phoneNumbers;
- }
-
- @NonNull
- @Override
- public Cursor rankCursor(
- @NonNull Cursor phoneQueryResults, int phoneNumberColumnIndex) {
- return phoneQueryResults;
- }
- };
+ setToIdentityRanker();
}
return ranker;
}
+ private static void setToIdentityRanker() {
+ ranker =
+ new P13nRanker() {
+ @Override
+ public void refresh(@Nullable P13nRefreshCompleteListener listener) {}
+
+ @Override
+ public List<String> rankList(List<String> phoneNumbers) {
+ return phoneNumbers;
+ }
+
+ @NonNull
+ @Override
+ public Cursor rankCursor(@NonNull Cursor phoneQueryResults, int queryLength) {
+ return phoneQueryResults;
+ }
+
+ @Override
+ public boolean shouldShowEmptyListForNullQuery() {
+ return true;
+ }
+ };
+ }
+
public static void setForTesting(@NonNull P13nRanker ranker) {
P13nRanking.ranker = ranker;
}
diff --git a/java/com/android/dialer/p13n/inference/protocol/P13nRanker.java b/java/com/android/dialer/p13n/inference/protocol/P13nRanker.java
index 9a859a6db..41f1de49d 100644
--- a/java/com/android/dialer/p13n/inference/protocol/P13nRanker.java
+++ b/java/com/android/dialer/p13n/inference/protocol/P13nRanker.java
@@ -41,13 +41,15 @@ public interface P13nRanker {
* input cursor is closed or invalid, or if any other error occurs in the ranking process.
*
* @param phoneQueryResults cursor of results of a Dialer search query
- * @param phoneNumberColumnIndex column index of the phone number in the cursor data
+ * @param queryLength length of the search query that resulted in the cursor data, if below 0,
+ * assumes no length is specified, thus applies the default behavior which is same as when
+ * queryLength is greater than zero.
* @return new cursor of data reordered by ranking (or reference to input cursor if order
* unchanged)
*/
@NonNull
@MainThread
- Cursor rankCursor(@NonNull Cursor phoneQueryResults, int phoneNumberColumnIndex);
+ Cursor rankCursor(@NonNull Cursor phoneQueryResults, int queryLength);
/**
* Refreshes ranking cache (pulls fresh contextual features, pre-caches inference results, etc.).
@@ -61,6 +63,10 @@ public interface P13nRanker {
@MainThread
void refresh(@Nullable P13nRefreshCompleteListener listener);
+ /** Decides if results should be displayed for no-query search. */
+ @MainThread
+ boolean shouldShowEmptyListForNullQuery();
+
/**
* Callback class for when ranking refresh has completed.
*