Merge "Add proto2 files for dump of server-side IME classes"

This commit is contained in:
Ioana Stefan
2020-09-30 07:47:54 +00:00
committed by Android (Google) Code Review
5 changed files with 192 additions and 0 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;