diff options
Diffstat (limited to 'java/com/android/dialer/logging')
10 files changed, 813 insertions, 0 deletions
diff --git a/java/com/android/dialer/logging/Logger.java b/java/com/android/dialer/logging/Logger.java new file mode 100644 index 000000000..207c35d9c --- /dev/null +++ b/java/com/android/dialer/logging/Logger.java @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.dialer.logging; + +import android.content.Context; +import java.util.Objects; + +/** Single entry point for all logging/analytics-related work for all user interactions. */ +public class Logger { + + private static LoggingBindings loggingBindings; + + private Logger() {} + + public static LoggingBindings get(Context context) { + Objects.requireNonNull(context); + if (loggingBindings != null) { + return loggingBindings; + } + + Context application = context.getApplicationContext(); + if (application instanceof LoggingBindingsFactory) { + loggingBindings = ((LoggingBindingsFactory) application).newLoggingBindings(); + } + + if (loggingBindings == null) { + loggingBindings = new LoggingBindingsStub(); + } + return loggingBindings; + } + + public static void setForTesting(LoggingBindings loggingBindings) { + Logger.loggingBindings = loggingBindings; + } +} diff --git a/java/com/android/dialer/logging/LoggingBindings.java b/java/com/android/dialer/logging/LoggingBindings.java new file mode 100644 index 000000000..cf921c3fa --- /dev/null +++ b/java/com/android/dialer/logging/LoggingBindings.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ + +package com.android.dialer.logging; + +import android.app.Activity; + +/** Allows the container application to gather analytics. */ +public interface LoggingBindings { + + /** + * Logs an impression for a general dialer event that's not associated with a specific call. + * + * @param dialerImpression an integer representing what event occurred. + * @see com.android.dialer.logging.nano.DialerImpression + */ + void logImpression(int dialerImpression); + + /** + * Logs an impression for a general dialer event that's associated with a specific call. + * + * @param dialerImpression an integer representing what event occurred. + * @param callId unique ID of the call. + * @param callStartTimeMillis the absolute time when the call started. + * @see com.android.dialer.logging.nano.DialerImpression + */ + void logCallImpression(int dialerImpression, String callId, long callStartTimeMillis); + + /** + * Logs an interaction that occurred. + * + * @param interaction an integer representing what interaction occurred. + * @see com.android.dialer.logging.nano.InteractionEvent + */ + void logInteraction(int interaction); + + /** + * Logs an event indicating that a screen was displayed. + * + * @param screenEvent an integer representing the displayed screen. + * @param activity Parent activity of the displayed screen. + * @see com.android.dialer.logging.nano.ScreenEvent + */ + void logScreenView(int screenEvent, Activity activity); + + /** Logs a hit event to the analytics server. */ + void sendHitEventAnalytics(String category, String action, String label, long value); +} diff --git a/java/com/android/dialer/logging/LoggingBindingsFactory.java b/java/com/android/dialer/logging/LoggingBindingsFactory.java new file mode 100644 index 000000000..0722cf453 --- /dev/null +++ b/java/com/android/dialer/logging/LoggingBindingsFactory.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ + +package com.android.dialer.logging; + +/** + * This interface should be implementated by the Application subclass. It allows this module to get + * references to the LoggingBindings. + */ +public interface LoggingBindingsFactory { + + LoggingBindings newLoggingBindings(); +} diff --git a/java/com/android/dialer/logging/LoggingBindingsStub.java b/java/com/android/dialer/logging/LoggingBindingsStub.java new file mode 100644 index 000000000..89c56eb91 --- /dev/null +++ b/java/com/android/dialer/logging/LoggingBindingsStub.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ + +package com.android.dialer.logging; + +import android.app.Activity; + +/** Default implementation for logging bindings. */ +public class LoggingBindingsStub implements LoggingBindings { + + @Override + public void logImpression(int dialerImpression) {} + + @Override + public void logCallImpression(int dialerImpression, String callId, long callStartTimeMillis) {} + + @Override + public void logInteraction(int interaction) {} + + @Override + public void logScreenView(int screenEvent, Activity activity) {} + + @Override + public void sendHitEventAnalytics(String category, String action, String label, long value) {} +} diff --git a/java/com/android/dialer/logging/nano/ContactLookupResult.java b/java/com/android/dialer/logging/nano/ContactLookupResult.java new file mode 100644 index 000000000..8960560fb --- /dev/null +++ b/java/com/android/dialer/logging/nano/ContactLookupResult.java @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package com.android.dialer.logging.nano; + +@SuppressWarnings("hiding") +public final class ContactLookupResult extends + com.google.protobuf.nano.ExtendableMessageNano<ContactLookupResult> { + + // enum Type + public interface Type { + public static final int UNKNOWN_LOOKUP_RESULT_TYPE = 0; + public static final int NOT_FOUND = 1; + public static final int LOCAL_CONTACT = 2; + public static final int LOCAL_CACHE = 3; + public static final int REMOTE = 4; + public static final int EMERGENCY = 5; + public static final int VOICEMAIL = 6; + } + + private static volatile ContactLookupResult[] _emptyArray; + public static ContactLookupResult[] emptyArray() { + // Lazily initializes the empty array + if (_emptyArray == null) { + synchronized ( + com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) { + if (_emptyArray == null) { + _emptyArray = new ContactLookupResult[0]; + } + } + } + return _emptyArray; + } + + // @@protoc_insertion_point(class_scope:com.android.dialer.logging.ContactLookupResult) + + public ContactLookupResult() { + clear(); + } + + public ContactLookupResult clear() { + unknownFieldData = null; + cachedSize = -1; + return this; + } + + @Override + public ContactLookupResult mergeFrom( + com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + return this; + default: { + if (!super.storeUnknownField(input, tag)) { + return this; + } + break; + } + } + } + } + + public static ContactLookupResult parseFrom(byte[] data) + throws com.google.protobuf.nano.InvalidProtocolBufferNanoException { + return com.google.protobuf.nano.MessageNano.mergeFrom(new ContactLookupResult(), data); + } + + public static ContactLookupResult parseFrom( + com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + return new ContactLookupResult().mergeFrom(input); + } +} diff --git a/java/com/android/dialer/logging/nano/ContactSource.java b/java/com/android/dialer/logging/nano/ContactSource.java new file mode 100644 index 000000000..35d8b8ca1 --- /dev/null +++ b/java/com/android/dialer/logging/nano/ContactSource.java @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package com.android.dialer.logging.nano; + +@SuppressWarnings("hiding") +public final class ContactSource extends + com.google.protobuf.nano.ExtendableMessageNano<ContactSource> { + + // enum Type + public interface Type { + public static final int UNKNOWN_SOURCE_TYPE = 0; + public static final int SOURCE_TYPE_DIRECTORY = 1; + public static final int SOURCE_TYPE_EXTENDED = 2; + public static final int SOURCE_TYPE_PLACES = 3; + public static final int SOURCE_TYPE_PROFILE = 4; + public static final int SOURCE_TYPE_CNAP = 5; + } + + private static volatile ContactSource[] _emptyArray; + public static ContactSource[] emptyArray() { + // Lazily initializes the empty array + if (_emptyArray == null) { + synchronized ( + com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) { + if (_emptyArray == null) { + _emptyArray = new ContactSource[0]; + } + } + } + return _emptyArray; + } + + // @@protoc_insertion_point(class_scope:com.android.dialer.logging.ContactSource) + + public ContactSource() { + clear(); + } + + public ContactSource clear() { + unknownFieldData = null; + cachedSize = -1; + return this; + } + + @Override + public ContactSource mergeFrom( + com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + return this; + default: { + if (!super.storeUnknownField(input, tag)) { + return this; + } + break; + } + } + } + } + + public static ContactSource parseFrom(byte[] data) + throws com.google.protobuf.nano.InvalidProtocolBufferNanoException { + return com.google.protobuf.nano.MessageNano.mergeFrom(new ContactSource(), data); + } + + public static ContactSource parseFrom( + com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + return new ContactSource().mergeFrom(input); + } +} diff --git a/java/com/android/dialer/logging/nano/DialerImpression.java b/java/com/android/dialer/logging/nano/DialerImpression.java new file mode 100644 index 000000000..6bb56751f --- /dev/null +++ b/java/com/android/dialer/logging/nano/DialerImpression.java @@ -0,0 +1,178 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.dialer.logging.nano; + +@SuppressWarnings("hiding") +public final class DialerImpression extends + com.google.protobuf.nano.ExtendableMessageNano<DialerImpression> { + + // enum Type + public interface Type { + public static final int UNKNOWN_AOSP_EVENT_TYPE = 1000; + public static final int APP_LAUNCHED = 1001; + public static final int IN_CALL_SCREEN_TURN_ON_SPEAKERPHONE = 1002; + public static final int IN_CALL_SCREEN_TURN_ON_WIRED_OR_EARPIECE = 1003; + public static final int CALL_LOG_BLOCK_REPORT_SPAM = 1004; + public static final int CALL_LOG_BLOCK_NUMBER = 1005; + public static final int CALL_LOG_UNBLOCK_NUMBER = 1006; + public static final int CALL_LOG_REPORT_AS_NOT_SPAM = 1007; + public static final int DIALOG_ACTION_CONFIRM_NUMBER_NOT_SPAM = 1008; + public static final int REPORT_AS_NOT_SPAM_VIA_UNBLOCK_NUMBER = 1009; + public static final int DIALOG_ACTION_CONFIRM_NUMBER_SPAM_INDIRECTLY_VIA_BLOCK_NUMBER = 1010; + public static final int REPORT_CALL_AS_SPAM_VIA_CALL_LOG_BLOCK_REPORT_SPAM_SENT_VIA_BLOCK_NUMBER_DIALOG = 1011; + public static final int USER_ACTION_BLOCKED_NUMBER = 1012; + public static final int USER_ACTION_UNBLOCKED_NUMBER = 1013; + public static final int SPAM_AFTER_CALL_NOTIFICATION_BLOCK_NUMBER = 1014; + public static final int SPAM_AFTER_CALL_NOTIFICATION_SHOW_SPAM_DIALOG = 1015; + public static final int SPAM_AFTER_CALL_NOTIFICATION_SHOW_NON_SPAM_DIALOG = 1016; + public static final int SPAM_AFTER_CALL_NOTIFICATION_ADD_TO_CONTACTS = 1019; + public static final int SPAM_AFTER_CALL_NOTIFICATION_MARKED_NUMBER_AS_SPAM = 1020; + public static final int SPAM_AFTER_CALL_NOTIFICATION_MARKED_NUMBER_AS_NOT_SPAM_AND_BLOCKED = 1021; + public static final int SPAM_AFTER_CALL_NOTIFICATION_REPORT_NUMBER_AS_NOT_SPAM = 1022; + public static final int SPAM_AFTER_CALL_NOTIFICATION_ON_DISMISS_SPAM_DIALOG = 1024; + public static final int SPAM_AFTER_CALL_NOTIFICATION_ON_DISMISS_NON_SPAM_DIALOG = 1025; + public static final int SPAM_NOTIFICATION_SERVICE_ACTION_MARK_NUMBER_AS_SPAM = 1026; + public static final int SPAM_NOTIFICATION_SERVICE_ACTION_MARK_NUMBER_AS_NOT_SPAM = 1027; + public static final int USER_PARTICIPATED_IN_A_CALL = 1028; + public static final int INCOMING_SPAM_CALL = 1029; + public static final int INCOMING_NON_SPAM_CALL = 1030; + public static final int SPAM_NOTIFICATION_SHOWN_AFTER_THROTTLE = 1041; + public static final int SPAM_NOTIFICATION_NOT_SHOWN_AFTER_THROTTLE = 1042; + public static final int NON_SPAM_NOTIFICATION_SHOWN_AFTER_THROTTLE = 1043; + public static final int NON_SPAM_NOTIFICATION_NOT_SHOWN_AFTER_THROTTLE = 1044; + public static final int VOICEMAIL_ALERT_SET_PIN_SHOWN = 1045; + public static final int VOICEMAIL_ALERT_SET_PIN_CLICKED = 1046; + public static final int USER_DID_NOT_PARTICIPATE_IN_CALL = 1047; + public static final int USER_DELETED_CALL_LOG_ITEM = 1048; + public static final int CALL_LOG_SEND_MESSAGE = 1049; + public static final int CALL_LOG_ADD_TO_CONTACT = 1050; + public static final int CALL_LOG_CREATE_NEW_CONTACT = 1051; + public static final int VOICEMAIL_DELETE_ENTRY = 1052; + public static final int VOICEMAIL_EXPAND_ENTRY = 1053; + public static final int VOICEMAIL_PLAY_AUDIO_DIRECTLY = 1054; + public static final int VOICEMAIL_PLAY_AUDIO_AFTER_EXPANDING_ENTRY = 1055; + public static final int REJECT_INCOMING_CALL_FROM_NOTIFICATION = 1056; + public static final int REJECT_INCOMING_CALL_FROM_ANSWER_SCREEN = 1057; + public static final int CALL_LOG_CONTEXT_MENU_BLOCK_REPORT_SPAM = 1058; + public static final int CALL_LOG_CONTEXT_MENU_BLOCK_NUMBER = 1059; + public static final int CALL_LOG_CONTEXT_MENU_UNBLOCK_NUMBER = 1060; + public static final int CALL_LOG_CONTEXT_MENU_REPORT_AS_NOT_SPAM = 1061; + public static final int NEW_CONTACT_OVERFLOW = 1062; + public static final int NEW_CONTACT_FAB = 1063; + public static final int VOICEMAIL_VVM3_TOS_SHOWN = 1064; + public static final int VOICEMAIL_VVM3_TOS_ACCEPTED = 1065; + public static final int VOICEMAIL_VVM3_TOS_DECLINED = 1066; + public static final int VOICEMAIL_VVM3_TOS_DECLINE_CLICKED = 1067; + public static final int VOICEMAIL_VVM3_TOS_DECLINE_CHANGE_PIN_SHOWN = 1068; + public static final int STORAGE_PERMISSION_DISPLAYED = 1069; + public static final int CAMERA_PERMISSION_DISPLAYED = 1074; + public static final int STORAGE_PERMISSION_REQUESTED = 1070; + public static final int CAMERA_PERMISSION_REQUESTED = 1075; + public static final int STORAGE_PERMISSION_SETTINGS = 1071; + public static final int CAMERA_PERMISSION_SETTINGS = 1076; + public static final int STORAGE_PERMISSION_GRANTED = 1072; + public static final int CAMERA_PERMISSION_GRANTED = 1077; + public static final int STORAGE_PERMISSION_DENIED = 1073; + public static final int CAMERA_PERMISSION_DENIED = 1078; + public static final int VOICEMAIL_CONFIGURATION_STATE_CORRUPTION_DETECTED_FROM_ACTIVITY = 1079; + public static final int VOICEMAIL_CONFIGURATION_STATE_CORRUPTION_DETECTED_FROM_NOTIFICATION = 1080; + public static final int BACKUP_ON_BACKUP = 1081; + public static final int BACKUP_ON_FULL_BACKUP = 1082; + public static final int BACKUP_ON_BACKUP_DISABLED = 1083; + public static final int BACKUP_VOICEMAIL_BACKED_UP = 1084; + public static final int BACKUP_FULL_BACKED_UP = 1085; + public static final int BACKUP_ON_BACKUP_JSON_EXCEPTION = 1086; + public static final int BACKUP_ON_QUOTA_EXCEEDED = 1087; + public static final int BACKUP_ON_RESTORE = 1088; + public static final int BACKUP_RESTORED_FILE = 1089; + public static final int BACKUP_RESTORED_VOICEMAIL = 1090; + public static final int BACKUP_ON_RESTORE_FINISHED = 1091; + public static final int BACKUP_ON_RESTORE_DISABLED = 1092; + public static final int BACKUP_ON_RESTORE_JSON_EXCEPTION = 1093; + public static final int BACKUP_ON_RESTORE_IO_EXCEPTION = 1094; + public static final int BACKUP_MAX_VM_BACKUP_REACHED = 1095; + public static final int EVENT_ANSWER_HINT_ACTIVATED = 1096; + public static final int EVENT_ANSWER_HINT_DEACTIVATED = 1097; + public static final int VVM_TAB_VISIBLE = 1098; + public static final int VVM_SHARE_VISIBLE = 1099; + public static final int VVM_SHARE_PRESSED = 1100; + public static final int OUTGOING_VIDEO_CALL = 1101; + public static final int INCOMING_VIDEO_CALL = 1102; + public static final int USER_PARTICIPATED_IN_A_VIDEO_CALL = 1103; + public static final int BACKUP_ON_RESTORE_VM_DUPLICATE_NOT_RESTORING = 1104; + public static final int CALL_LOG_SHARE_AND_CALL = 1105; + public static final int CALL_COMPOSER_ACTIVITY_PLACE_RCS_CALL = 1106; + public static final int CALL_COMPOSER_ACTIVITY_SEND_AND_CALL_PRESSED_WHEN_SESSION_NOT_READY = 1107; + } + + private static volatile DialerImpression[] _emptyArray; + public static DialerImpression[] emptyArray() { + // Lazily initializes the empty array + if (_emptyArray == null) { + synchronized ( + com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) { + if (_emptyArray == null) { + _emptyArray = new DialerImpression[0]; + } + } + } + return _emptyArray; + } + + // @@protoc_insertion_point(class_scope:com.android.dialer.logging.DialerImpression) + + public DialerImpression() { + clear(); + } + + public DialerImpression clear() { + unknownFieldData = null; + cachedSize = -1; + return this; + } + + @Override + public DialerImpression mergeFrom( + com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + return this; + default: { + if (!super.storeUnknownField(input, tag)) { + return this; + } + break; + } + } + } + } + + public static DialerImpression parseFrom(byte[] data) + throws com.google.protobuf.nano.InvalidProtocolBufferNanoException { + return com.google.protobuf.nano.MessageNano.mergeFrom(new DialerImpression(), data); + } + + public static DialerImpression parseFrom( + com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + return new DialerImpression().mergeFrom(input); + } +} + diff --git a/java/com/android/dialer/logging/nano/InteractionEvent.java b/java/com/android/dialer/logging/nano/InteractionEvent.java new file mode 100644 index 000000000..8d9430be9 --- /dev/null +++ b/java/com/android/dialer/logging/nano/InteractionEvent.java @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package com.android.dialer.logging.nano; + +/** This file is autogenerated, but javadoc required. */ +@SuppressWarnings("hiding") +public final class InteractionEvent + extends com.google.protobuf.nano.ExtendableMessageNano<InteractionEvent> { + + // enum Type + /** This file is autogenerated, but javadoc required. */ + public interface Type { + public static final int UNKNOWN = 0; + public static final int CALL_BLOCKED = 15; + public static final int BLOCK_NUMBER_CALL_LOG = 16; + public static final int BLOCK_NUMBER_CALL_DETAIL = 17; + public static final int BLOCK_NUMBER_MANAGEMENT_SCREEN = 18; + public static final int UNBLOCK_NUMBER_CALL_LOG = 19; + public static final int UNBLOCK_NUMBER_CALL_DETAIL = 20; + public static final int UNBLOCK_NUMBER_MANAGEMENT_SCREEN = 21; + public static final int IMPORT_SEND_TO_VOICEMAIL = 22; + public static final int UNDO_BLOCK_NUMBER = 23; + public static final int UNDO_UNBLOCK_NUMBER = 24; + } + + private static volatile InteractionEvent[] _emptyArray; + public static InteractionEvent[] emptyArray() { + // Lazily initializes the empty array + if (_emptyArray == null) { + synchronized (com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) { + if (_emptyArray == null) { + _emptyArray = new InteractionEvent[0]; + } + } + } + return _emptyArray; + } + + // @@protoc_insertion_point(class_scope:com.android.dialer.logging.InteractionEvent) + + public InteractionEvent() { + clear(); + } + + public InteractionEvent clear() { + unknownFieldData = null; + cachedSize = -1; + return this; + } + + @Override + public InteractionEvent mergeFrom(com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + return this; + default: + { + if (!super.storeUnknownField(input, tag)) { + return this; + } + break; + } + } + } + } + + public static InteractionEvent parseFrom(byte[] data) + throws com.google.protobuf.nano.InvalidProtocolBufferNanoException { + return com.google.protobuf.nano.MessageNano.mergeFrom(new InteractionEvent(), data); + } + + public static InteractionEvent parseFrom(com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + return new InteractionEvent().mergeFrom(input); + } +} diff --git a/java/com/android/dialer/logging/nano/ReportingLocation.java b/java/com/android/dialer/logging/nano/ReportingLocation.java new file mode 100644 index 000000000..1f05ce414 --- /dev/null +++ b/java/com/android/dialer/logging/nano/ReportingLocation.java @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package com.android.dialer.logging.nano; + +@SuppressWarnings("hiding") +public final class ReportingLocation extends + com.google.protobuf.nano.ExtendableMessageNano<ReportingLocation> { + + // enum Type + public interface Type { + public static final int UNKNOWN_REPORTING_LOCATION = 0; + public static final int CALL_LOG_HISTORY = 1; + public static final int FEEDBACK_PROMPT = 2; + } + + private static volatile ReportingLocation[] _emptyArray; + public static ReportingLocation[] emptyArray() { + // Lazily initializes the empty array + if (_emptyArray == null) { + synchronized ( + com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) { + if (_emptyArray == null) { + _emptyArray = new ReportingLocation[0]; + } + } + } + return _emptyArray; + } + + // @@protoc_insertion_point(class_scope:com.android.dialer.logging.ReportingLocation) + + public ReportingLocation() { + clear(); + } + + public ReportingLocation clear() { + unknownFieldData = null; + cachedSize = -1; + return this; + } + + @Override + public ReportingLocation mergeFrom( + com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + return this; + default: { + if (!super.storeUnknownField(input, tag)) { + return this; + } + break; + } + } + } + } + + public static ReportingLocation parseFrom(byte[] data) + throws com.google.protobuf.nano.InvalidProtocolBufferNanoException { + return com.google.protobuf.nano.MessageNano.mergeFrom(new ReportingLocation(), data); + } + + public static ReportingLocation parseFrom( + com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + return new ReportingLocation().mergeFrom(input); + } +} diff --git a/java/com/android/dialer/logging/nano/ScreenEvent.java b/java/com/android/dialer/logging/nano/ScreenEvent.java new file mode 100644 index 000000000..be4e5eb9e --- /dev/null +++ b/java/com/android/dialer/logging/nano/ScreenEvent.java @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package com.android.dialer.logging.nano; + +/** This file is autogenerated, but javadoc required. */ +@SuppressWarnings("hiding") +public final class ScreenEvent extends com.google.protobuf.nano.ExtendableMessageNano<ScreenEvent> { + + // enum Type + /** This file is autogenerated, but javadoc required. */ + public interface Type { + public static final int UNKNOWN = 0; + public static final int DIALPAD = 1; + public static final int SPEED_DIAL = 2; + public static final int CALL_LOG = 3; + public static final int VOICEMAIL_LOG = 4; + public static final int ALL_CONTACTS = 5; + public static final int REGULAR_SEARCH = 6; + public static final int SMART_DIAL_SEARCH = 7; + public static final int CALL_LOG_FILTER = 8; + public static final int SETTINGS = 9; + public static final int IMPORT_EXPORT_CONTACTS = 10; + public static final int CLEAR_FREQUENTS = 11; + public static final int SEND_FEEDBACK = 12; + public static final int INCALL = 13; + public static final int INCOMING_CALL = 14; + public static final int CONFERENCE_MANAGEMENT = 15; + public static final int INCALL_DIALPAD = 16; + public static final int CALL_LOG_CONTEXT_MENU = 17; + public static final int BLOCKED_NUMBER_MANAGEMENT = 18; + public static final int BLOCKED_NUMBER_ADD_NUMBER = 19; + public static final int CALL_DETAILS = 20; + } + + private static volatile ScreenEvent[] _emptyArray; + public static ScreenEvent[] emptyArray() { + // Lazily initializes the empty array + if (_emptyArray == null) { + synchronized (com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) { + if (_emptyArray == null) { + _emptyArray = new ScreenEvent[0]; + } + } + } + return _emptyArray; + } + + // @@protoc_insertion_point(class_scope:com.android.dialer.logging.ScreenEvent) + + public ScreenEvent() { + clear(); + } + + public ScreenEvent clear() { + unknownFieldData = null; + cachedSize = -1; + return this; + } + + @Override + public ScreenEvent mergeFrom(com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + return this; + default: + { + if (!super.storeUnknownField(input, tag)) { + return this; + } + break; + } + } + } + } + + public static ScreenEvent parseFrom(byte[] data) + throws com.google.protobuf.nano.InvalidProtocolBufferNanoException { + return com.google.protobuf.nano.MessageNano.mergeFrom(new ScreenEvent(), data); + } + + public static ScreenEvent parseFrom(com.google.protobuf.nano.CodedInputByteBufferNano input) + throws java.io.IOException { + return new ScreenEvent().mergeFrom(input); + } +} |