From 882c5bc1909eea75ac407120a1c3d36348372afd Mon Sep 17 00:00:00 2001 From: zachh Date: Tue, 17 Apr 2018 17:58:15 -0700 Subject: Added logging for contacts provider metrics. TEST=unit Test: unit PiperOrigin-RevId: 193288015 Change-Id: I350fa06cb96ff1887c428c8d60c489ddf0da81f6 --- .../android/dialer/logging/LoggingBindings.java | 46 ++++++++++++++++++++++ .../dialer/logging/LoggingBindingsStub.java | 4 ++ 2 files changed, 50 insertions(+) (limited to 'java/com/android/dialer/logging') diff --git a/java/com/android/dialer/logging/LoggingBindings.java b/java/com/android/dialer/logging/LoggingBindings.java index 7c580cb77..9288324a1 100644 --- a/java/com/android/dialer/logging/LoggingBindings.java +++ b/java/com/android/dialer/logging/LoggingBindings.java @@ -16,6 +16,8 @@ package com.android.dialer.logging; import android.app.Activity; import android.widget.QuickContactBadge; +import com.google.auto.value.AutoValue; +import java.util.Collection; /** Allows the container application to gather analytics. */ public interface LoggingBindings { @@ -96,4 +98,48 @@ public interface LoggingBindings { /** Logs annotated call log metrics. */ void logAnnotatedCallLogMetrics(int numberRowsThatDidPop, int numberRowsThatDidNotPop); + + /** Logs contacts provider metrics. */ + void logContactsProviderMetrics(Collection matchInfos); + + /** Input type for {@link #logContactsProviderMetrics(Collection)}. */ + @AutoValue + abstract class ContactsProviderMatchInfo { + public abstract boolean matchedContact(); + + public abstract boolean inputNumberValid(); + + public abstract int inputNumberLength(); + + public abstract int matchedNumberLength(); + + public abstract boolean inputNumberHasPostdialDigits(); + + public abstract boolean matchedNumberHasPostdialDigits(); + + public static Builder builder() { + return new AutoValue_LoggingBindings_ContactsProviderMatchInfo.Builder() + .setMatchedContact(false) + .setMatchedNumberLength(0) + .setMatchedNumberHasPostdialDigits(false); + } + + /** Builder. */ + @AutoValue.Builder + public abstract static class Builder { + public abstract Builder setMatchedContact(boolean value); + + public abstract Builder setInputNumberValid(boolean value); + + public abstract Builder setInputNumberLength(int value); + + public abstract Builder setMatchedNumberLength(int value); + + public abstract Builder setInputNumberHasPostdialDigits(boolean value); + + public abstract Builder setMatchedNumberHasPostdialDigits(boolean value); + + public abstract ContactsProviderMatchInfo build(); + } + } } diff --git a/java/com/android/dialer/logging/LoggingBindingsStub.java b/java/com/android/dialer/logging/LoggingBindingsStub.java index 65ebd1a52..923178231 100644 --- a/java/com/android/dialer/logging/LoggingBindingsStub.java +++ b/java/com/android/dialer/logging/LoggingBindingsStub.java @@ -16,6 +16,7 @@ package com.android.dialer.logging; import android.app.Activity; import android.widget.QuickContactBadge; +import java.util.Collection; /** Default implementation for logging bindings. */ public class LoggingBindingsStub implements LoggingBindings { @@ -70,4 +71,7 @@ public class LoggingBindingsStub implements LoggingBindings { @Override public void logAnnotatedCallLogMetrics(int numberRowsThatDidPop, int numberRowsThatDidNotPop) {} + + @Override + public void logContactsProviderMetrics(Collection matchInfos) {} } -- cgit v1.2.3