From 999b5d5a7152c3b7608fe30630b983512e9e4e43 Mon Sep 17 00:00:00 2001 From: linyuh Date: Wed, 28 Feb 2018 16:47:17 -0800 Subject: Log contact source when reporting spam from the new UI. Bug: 73780748 Test: PhoneLookupInfoConsolidatorTest PiperOrigin-RevId: 187404074 Change-Id: I1db81304909fbf63aba00088c12e18922042c3b1 --- .../consolidator/PhoneLookupInfoConsolidator.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'java/com/android/dialer/phonelookup') 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; @@ -90,6 +91,39 @@ public final class PhoneLookupInfoConsolidator { this.nameSource = selectNameSource(); } + /** + * 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. -- cgit v1.2.3