diff options
author | yueg <yueg@google.com> | 2017-07-27 16:12:55 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-07-28 07:00:22 -0700 |
commit | a48f3c4bd2581c884e4668d3f4a47b7b374900ee (patch) | |
tree | 8b6a40bb7bf53a1ea29d1ec66f62cdcfb70b4448 /java | |
parent | a3cf088f9c1a8be5737472efe2966bca23ef4394 (diff) |
Fix NPE and ClassCastException in logging People API lookup error.
Logger.get() returns a LoggingBindingsStub object instead of a
LoggingBindingsImpl object under strict mode, and we should not log when it
happens.
WANT_LGTM=kedars
LOG_STORAGE_INCREASE(GB/week): 0
Test: manual
PiperOrigin-RevId: 163404058
Change-Id: Ibd466a811126c45eb26bc033367cc86a77066b3f
Diffstat (limited to 'java')
3 files changed, 33 insertions, 0 deletions
diff --git a/java/com/android/dialer/logging/LoggingBindings.java b/java/com/android/dialer/logging/LoggingBindings.java index 85ccfdfa1..ca9a0533e 100644 --- a/java/com/android/dialer/logging/LoggingBindings.java +++ b/java/com/android/dialer/logging/LoggingBindings.java @@ -80,4 +80,11 @@ public interface LoggingBindings { QuickContactBadge quickContact, InteractionEvent.Type interactionEvent, boolean shouldPerformClick); + + /** Logs People Api lookup result with error */ + void logPeopleApiLookupReportWithError( + long latency, int httpResponseCode, PeopleApiLookupError.Type errorType); + + /** Logs successful People Api lookup result */ + void logSuccessfulPeopleApiLookupReport(long latency, int httpResponseCode); } diff --git a/java/com/android/dialer/logging/LoggingBindingsStub.java b/java/com/android/dialer/logging/LoggingBindingsStub.java index 38929969c..2dbcc3ffb 100644 --- a/java/com/android/dialer/logging/LoggingBindingsStub.java +++ b/java/com/android/dialer/logging/LoggingBindingsStub.java @@ -54,4 +54,11 @@ public class LoggingBindingsStub implements LoggingBindings { QuickContactBadge quickContact, InteractionEvent.Type interactionEvent, boolean shouldPerformClick) {} + + @Override + public void logPeopleApiLookupReportWithError( + long latency, int httpResponseCode, PeopleApiLookupError.Type errorType) {} + + @Override + public void logSuccessfulPeopleApiLookupReport(long latency, int httpResponseCode) {} } diff --git a/java/com/android/dialer/logging/people_api_lookup_error.proto b/java/com/android/dialer/logging/people_api_lookup_error.proto new file mode 100644 index 000000000..e37d10aee --- /dev/null +++ b/java/com/android/dialer/logging/people_api_lookup_error.proto @@ -0,0 +1,19 @@ +syntax = "proto2"; + +package com.android.dialer.logging; +option java_package = "com.android.dialer.logging"; +option java_multiple_files = true; +option optimize_for = LITE_RUNTIME; + + + + +message PeopleApiLookupError { + enum Type { + UNKNOWN = 0; + HTTP_RESPONSE_ERROR = 1; + WRONG_KIND_VALUE = 2; + NO_ITEM_FOUND = 3; + JSON_PARSING_ERROR = 4; + } +} |