summaryrefslogtreecommitdiffstats
path: root/java/com/android/dialer/phonelookup/consolidator/PhoneLookupInfoConsolidator.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/phonelookup/consolidator/PhoneLookupInfoConsolidator.java')
-rw-r--r--java/com/android/dialer/phonelookup/consolidator/PhoneLookupInfoConsolidator.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/java/com/android/dialer/phonelookup/consolidator/PhoneLookupInfoConsolidator.java b/java/com/android/dialer/phonelookup/consolidator/PhoneLookupInfoConsolidator.java
index 3a48fd538..6e867560d 100644
--- a/java/com/android/dialer/phonelookup/consolidator/PhoneLookupInfoConsolidator.java
+++ b/java/com/android/dialer/phonelookup/consolidator/PhoneLookupInfoConsolidator.java
@@ -18,6 +18,7 @@ package com.android.dialer.phonelookup.consolidator;
import android.support.annotation.IntDef;
import android.support.annotation.Nullable;
import com.android.dialer.common.Assert;
+import com.android.dialer.logging.ContactSource;
import com.android.dialer.phonelookup.PhoneLookup;
import com.android.dialer.phonelookup.PhoneLookupInfo;
import com.android.dialer.phonelookup.PhoneLookupInfo.BlockedState;
@@ -91,6 +92,39 @@ public final class PhoneLookupInfoConsolidator {
}
/**
+ * Returns a {@link com.android.dialer.logging.ContactSource.Type} representing the source from
+ * which info is used to display contact info in the UI.
+ */
+ public ContactSource.Type getContactSource() {
+ switch (nameSource) {
+ case NameSource.CP2_DEFAULT_DIRECTORY:
+ return ContactSource.Type.SOURCE_TYPE_DIRECTORY;
+ case NameSource.CP2_EXTENDED_DIRECTORY:
+ return ContactSource.Type.SOURCE_TYPE_EXTENDED;
+ case NameSource.PEOPLE_API:
+ return getRefinedPeopleApiSource();
+ case NameSource.NONE:
+ return ContactSource.Type.UNKNOWN_SOURCE_TYPE;
+ default:
+ throw Assert.createUnsupportedOperationFailException(
+ String.format("Unsupported name source: %s", nameSource));
+ }
+ }
+
+ private ContactSource.Type getRefinedPeopleApiSource() {
+ Assert.checkState(nameSource == NameSource.PEOPLE_API);
+
+ switch (phoneLookupInfo.getPeopleApiInfo().getInfoType()) {
+ case CONTACT:
+ return ContactSource.Type.SOURCE_TYPE_PROFILE;
+ case NEARBY_BUSINESS:
+ return ContactSource.Type.SOURCE_TYPE_PLACES;
+ default:
+ return ContactSource.Type.SOURCE_TYPE_REMOTE_OTHER;
+ }
+ }
+
+ /**
* The {@link PhoneLookupInfo} passed to the constructor is associated with a number. This method
* returns the name associated with that number.
*