1syntax = "proto2";
2
3package com.android.server.telecom;
4
5option java_package = "com.android.server.telecom";
6option java_outer_classname = "PulledAtomsClass";
7
8message PulledAtoms {
9  repeated CallStats call_stats = 1;
10  optional int64 call_stats_pull_timestamp_millis = 2;
11  repeated CallAudioRouteStats call_audio_route_stats = 3;
12  optional int64 call_audio_route_stats_pull_timestamp_millis = 4;
13  repeated TelecomApiStats telecom_api_stats = 5;
14  optional int64 telecom_api_stats_pull_timestamp_millis = 6;
15  repeated TelecomErrorStats telecom_error_stats = 7;
16  optional int64 telecom_error_stats_pull_timestamp_millis = 8;
17}
18
19/**
20 * Pulled atom to capture stats of the calls
21 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto
22 */
23message CallStats {
24    // The value should be converted to android.telecom.CallDirectionEnum
25    // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
26    optional int32 call_direction = 1;
27
28    // True if call is external. External calls are calls on connected Wear
29    // devices but show up in Telecom so the user can pull them onto the device.
30    optional bool external_call = 2;
31
32    // True if call is emergency call.
33    optional bool emergency_call = 3;
34
35    // True if there are multiple audio routes available
36    optional bool multiple_audio_available = 4;
37
38    // The value should be converted to android.telecom.AccountTypeEnum
39    // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
40    optional int32 account_type = 5;
41
42    // UID of the package to init the call. This should always be -1/unknown for
43    // the private space calls
44    optional int32 uid = 6;
45
46    // Total number of the calls
47    optional int32 count = 7;
48
49    // Average elapsed time between CALL_STATE_ACTIVE to CALL_STATE_DISCONNECTED.
50    optional int32 average_duration_ms = 8;
51}
52
53/**
54 * Pulled atom to capture stats of the call audio route
55 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto
56 */
57message CallAudioRouteStats {
58    // The value should be converted to android.telecom.CallAudioEnum
59    // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
60    optional int32 call_audio_route_source = 1;
61
62    // The value should be converted to android.telecom.CallAudioEnum
63    // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
64    optional int32 call_audio_route_dest = 2;
65
66    // True if the route is successful.
67    optional bool success = 3;
68
69    // True if the route is revert
70    optional bool revert = 4;
71
72    // Total number of the audio route
73    optional int32 count = 5;
74
75    // Average time from the audio route start to complete
76    optional int32 average_latency_ms = 6;
77}
78
79/**
80 * Pulled atom to capture stats of Telecom API usage
81 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto
82 */
83message TelecomApiStats {
84    // The value should be converted to android.telecom.ApiNameEnum
85    // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
86    optional int32 api_name = 1;
87
88    // UID of the caller. This is always -1/unknown for the private space.
89    optional int32 uid = 2;
90
91    // The value should be converted to android.telecom.ApiResultEnum
92    // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
93    optional int32 api_result = 3;
94
95    // The number of times this event occurs
96    optional int32 count = 4;
97}
98
99/**
100 * Pulled atom to capture stats of Telecom module errors
101 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto
102 */
103message TelecomErrorStats {
104    // The value should be converted to android.telecom.SubmoduleEnum
105    // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
106    optional int32 submodule = 1;
107
108    // The value should be converted to android.telecom.ErrorEnum
109    // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
110    optional int32 error = 2;
111
112    // The number of times this error occurs
113    optional int32 count = 3;
114}
115