diff options
| author | 2020-09-30 07:47:54 +0000 | |
|---|---|---|
| committer | 2020-09-30 07:47:54 +0000 | |
| commit | 92e0fc776bdff9626ffbaa8bceb045dc9974f6ac (patch) | |
| tree | 93ef24aa866ab7570c4e11f44ea9a1a804c7df5f | |
| parent | b77300bb8bf8f49ea150c1ec6b20ff70021d896e (diff) | |
| parent | 8983689ec6e0473cc8c409afc267b622d52de55e (diff) | |
Merge "Add proto2 files for dump of server-side IME classes"
5 files changed, 192 insertions, 0 deletions
diff --git a/core/proto/android/inputmethodservice/inputmethodservice.proto b/core/proto/android/inputmethodservice/inputmethodservice.proto new file mode 100644 index 000000000000..3b4ebb5d73e7 --- /dev/null +++ b/core/proto/android/inputmethodservice/inputmethodservice.proto @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2020 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. + */ + +syntax = "proto2"; + +import "frameworks/base/core/proto/android/inputmethodservice/softinputwindow.proto"; +import "frameworks/base/core/proto/android/view/inputmethod/editorinfo.proto"; + +package android.inputmethodservice; + +option java_multiple_files = true; + +message InputMethodServiceProto { + optional SoftInputWindowProto soft_input_window = 1; + optional bool views_created= 2; + optional bool decor_view_visible = 3; + optional bool decor_view_was_visible = 4; + optional bool window_visible = 5; + optional bool in_show_window = 6; + optional string configuration = 7; + optional string token = 8; + optional string input_binding = 9; + optional bool input_started = 10; + optional bool input_view_started = 11; + optional bool candidates_view_started = 12; + optional .android.view.inputmethod.EditorInfoProto input_editor_info = 13; + optional bool show_input_requested = 14; + optional bool last_show_input_requested = 15; + optional bool can_pre_render = 16; + optional bool is_pre_rendered = 17; + optional int32 show_input_flags = 18; + optional int32 candidates_visibility = 19; + optional bool fullscreen_applied = 20; + optional bool is_fullscreen = 21; + optional bool extract_view_hidden = 22; + optional int32 extracted_token = 23; + optional bool is_input_view_shown = 24; + optional int32 status_icon = 25; + optional InsetsProto last_computed_insets = 26; + optional string settings_observer = 27; + + message InsetsProto { + optional int32 content_top_insets = 1; + optional int32 visible_top_insets = 2; + optional int32 touchable_insets = 3; + optional string touchable_region = 4; + } +}
\ No newline at end of file diff --git a/core/proto/android/inputmethodservice/softinputwindow.proto b/core/proto/android/inputmethodservice/softinputwindow.proto new file mode 100644 index 000000000000..85b7d7382805 --- /dev/null +++ b/core/proto/android/inputmethodservice/softinputwindow.proto @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020 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. + */ + +syntax = "proto2"; + +import "frameworks/base/core/proto/android/graphics/rect.proto"; + +package android.inputmethodservice; + +option java_multiple_files = true; + +message SoftInputWindowProto { + optional string name = 1; + optional int32 window_type = 2; + optional int32 gravity = 3; + optional bool takes_focus = 4; + optional .android.graphics.RectProto bounds = 5; + optional int32 window_state = 6; +}
\ No newline at end of file diff --git a/core/proto/android/server/inputmethod/inputmethodmanagerservice.proto b/core/proto/android/server/inputmethod/inputmethodmanagerservice.proto new file mode 100644 index 000000000000..35aae8f92d93 --- /dev/null +++ b/core/proto/android/server/inputmethod/inputmethodmanagerservice.proto @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2020 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. + */ + +syntax = "proto2"; + +import "frameworks/base/core/proto/android/view/inputmethod/editorinfo.proto"; + +package android.server.inputmethod; + +option java_multiple_files = true; + +message InputMethodManagerServiceProto { + optional string cur_method_id = 1; + optional int32 cur_seq = 2; + optional string cur_client = 3; + optional string cur_focused_window_name = 4; + optional string last_ime_target_window_name = 5; + optional string cur_focused_window_soft_input_mode = 6; + optional .android.view.inputmethod.EditorInfoProto cur_attribute = 7; + optional string cur_id = 8; + optional bool show_requested = 9; + optional bool show_explicitly_requested = 10; + optional bool show_forced = 11; + optional bool input_shown = 12; + optional bool in_fullscreen_mode = 13; + optional string cur_token = 14; + optional int32 cur_token_display_id = 15; + optional bool system_ready = 16; + optional int32 last_switch_user_id = 17; + optional bool have_connection = 18; + optional bool bound_to_method = 19; + optional bool is_interactive = 20; + optional int32 back_disposition = 21; + optional int32 ime_window_visibility = 22; + optional bool show_ime_with_hard_keyboard = 23; + optional bool accessibility_requesting_no_soft_keyboard = 24; +}
\ No newline at end of file diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto index d4b226dead21..d4d8772f3f81 100644 --- a/core/proto/android/server/windowmanagerservice.proto +++ b/core/proto/android/server/windowmanagerservice.proto @@ -30,6 +30,10 @@ import "frameworks/base/core/proto/android/view/windowlayoutparams.proto"; import "frameworks/base/core/proto/android/privacy.proto"; import "frameworks/base/core/proto/android/typedef.proto"; +import "frameworks/base/core/proto/android/view/surfacecontrol.proto"; +import "frameworks/base/core/proto/android/view/insetssource.proto"; +import "frameworks/base/core/proto/android/view/insetssourcecontrol.proto"; + package com.android.server.wm; option java_multiple_files = true; @@ -47,6 +51,7 @@ message WindowManagerServiceDumpProto { optional int32 rotation = 7 [(.android.typedef) = "android.view.Surface.Rotation"]; optional int32 last_orientation = 8 [(.android.typedef) = "android.content.pm.ActivityInfo.ScreenOrientation"]; optional int32 focused_display_id = 9; + optional bool hard_keyboard_available = 10; } /* represents RootWindowContainer object */ @@ -195,6 +200,14 @@ message DisplayContentProto { optional .com.android.server.wm.IdentifierProto resumed_activity = 24; repeated TaskProto tasks = 25 [deprecated=true]; optional bool display_ready = 26; + + optional WindowStateProto input_method_target = 27; + optional WindowStateProto input_method_input_target = 28; + optional WindowStateProto input_method_control_target = 29; + optional WindowStateProto current_focus = 30; + optional InsetsSourceProviderProto insets_source_provider = 31; + optional ImeInsetsSourceProviderProto ime_insets_source_provider = 32; + optional bool can_show_ime = 33; } /* represents DisplayArea object */ @@ -226,6 +239,8 @@ message DisplayFramesProto { option (.android.msg_privacy).dest = DEST_AUTOMATIC; optional .android.graphics.RectProto stable_bounds = 1; + optional .android.graphics.RectProto dock = 2; + optional .android.graphics.RectProto current = 3; } /* represents DockedStackDividerController */ @@ -488,3 +503,30 @@ message WindowFramesProto { optional .android.graphics.RectProto stable_insets = 14; optional .android.graphics.RectProto outsets = 15; } + +message InsetsSourceProviderProto { + option (.android.msg_privacy).dest = DEST_AUTOMATIC; + + optional .android.view.InsetsSourceProto source = 1; + optional .android.graphics.RectProto frame = 2; + optional .android.view.InsetsSourceControlProto fake_control = 3; + optional .android.view.InsetsSourceControlProto control = 4; + optional WindowStateProto control_target = 5; + optional WindowStateProto pending_control_target = 6; + optional WindowStateProto fake_control_target = 7; + optional .android.view.SurfaceControlProto captured_leash = 8; + optional .android.graphics.RectProto ime_overridden_frame = 9; + optional bool is_leash_ready_for_dispatching = 10; + optional bool client_visible = 11; + optional bool server_visible = 12; + optional bool seamless_rotating = 13; + optional int64 finish_seamless_rotate_frame_number = 14; + optional bool controllable = 15; +} + +message ImeInsetsSourceProviderProto { + option (.android.msg_privacy).dest = DEST_AUTOMATIC; + + optional WindowStateProto ime_target_from_ime = 1; + optional bool is_ime_layout_drawn = 2; +}
\ No newline at end of file diff --git a/core/proto/android/view/inputmethod/inputmethodeditortrace.proto b/core/proto/android/view/inputmethod/inputmethodeditortrace.proto index f31d35b86a0c..2729e82768c3 100644 --- a/core/proto/android/view/inputmethod/inputmethodeditortrace.proto +++ b/core/proto/android/view/inputmethod/inputmethodeditortrace.proto @@ -26,6 +26,9 @@ import "frameworks/base/core/proto/android/view/imeinsetssourceconsumer.proto"; import "frameworks/base/core/proto/android/view/inputmethod/editorinfo.proto"; import "frameworks/base/core/proto/android/view/imefocuscontroller.proto"; +import "frameworks/base/core/proto/android/server/inputmethod/inputmethodmanagerservice.proto"; +import "frameworks/base/core/proto/android/inputmethodservice/inputmethodservice.proto"; + /** * Represents a file full of input method editor trace entries. * Encoded, it should start with 0x9 0x49 0x4d 0x45 0x54 0x52 0x41 0x43 0x45 (.IMETRACE), such @@ -54,12 +57,16 @@ message InputMethodEditorProto { /* required: elapsed realtime in nanos since boot of when this entry was logged */ optional fixed64 elapsed_realtime_nanos = 1; optional ClientsProto clients = 2; + optional .android.inputmethodservice.InputMethodServiceProto input_method_service = 3; + optional .android.server.inputmethod.InputMethodManagerServiceProto input_method_manager_service = 4; // this wrapper helps to simplify the dumping logic message ClientsProto { repeated ClientSideProto client = 1; } + /* todo: extract as a separate message to allow other dumps to use this as their client side + proto */ /* groups together the dump from ime related client side classes */ message ClientSideProto { optional int32 display_id = 1; |