diff options
Diffstat (limited to 'java/com/android/dialer/phonelookup/consolidator')
-rw-r--r-- | java/com/android/dialer/phonelookup/consolidator/PhoneLookupInfoConsolidator.java | 34 |
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. * |