xref: /aosp_15_r20/external/perfetto/protos/perfetto/trace/android/inputmethodeditor.proto (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1/*
2 * Copyright (C) 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18
19package perfetto.protos;
20
21import "protos/perfetto/trace/android/inputmethodservice/inputmethodservice.proto";
22import "protos/perfetto/trace/android/server/inputmethod/inputmethodmanagerservice.proto";
23import "protos/perfetto/trace/android/view/inputmethod/inputmethodmanager.proto";
24import "protos/perfetto/trace/android/view/viewrootimpl.proto";
25import "protos/perfetto/trace/android/view/insetscontroller.proto";
26import "protos/perfetto/trace/android/view/imeinsetssourceconsumer.proto";
27import "protos/perfetto/trace/android/view/inputmethod/editorinfo.proto";
28import "protos/perfetto/trace/android/view/inputmethod/inputconnection.proto";
29import "protos/perfetto/trace/android/view/imefocuscontroller.proto";
30
31// One dump entry for clients that use InputMethod
32message InputMethodClientsTraceProto {
33  // elapsed realtime in nanos since boot of when this entry was logged
34  optional fixed64 elapsed_realtime_nanos = 1;
35
36  // where the trace originated
37  optional string where = 2;
38
39  optional ClientSideProto client = 3;
40
41  // groups together the dump from ime related client side classes
42  message ClientSideProto {
43    optional int32 display_id = 1;
44    optional InputMethodManagerProto input_method_manager = 2;
45    optional ViewRootImplProto view_root_impl = 3;
46    optional InsetsControllerProto insets_controller = 4;
47    optional ImeInsetsSourceConsumerProto ime_insets_source_consumer = 5;
48    optional EditorInfoProto editor_info = 6;
49    optional ImeFocusControllerProto ime_focus_controller = 7;
50    optional InputConnectionProto input_connection = 8;
51    optional InputConnectionCallProto input_connection_call = 9;
52  }
53}
54
55// One dump entry for InputMethodService
56message InputMethodServiceTraceProto {
57  // elapsed realtime in nanos since boot of when this entry was logged
58  optional fixed64 elapsed_realtime_nanos = 1;
59
60  // where the trace originated
61  optional string where = 2;
62
63  optional InputMethodServiceProto input_method_service = 3;
64}
65
66// One dump entry for InputMethodManagerService
67message InputMethodManagerServiceTraceProto {
68  // elapsed realtime in nanos since boot of when this entry was logged
69  optional fixed64 elapsed_realtime_nanos = 1;
70
71  // where the trace originated
72  optional string where = 2;
73
74  optional InputMethodManagerServiceProto input_method_manager_service = 3;
75}